首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

li = [0] * 10和li = [set()] * 10的区别是什么

li = [0] * 10和li = [set()] * 10的区别是什么?

这两个表达式创建了两个长度为10的列表,但它们之间存在一些重要的区别。

  1. li = [0] * 10:
    • 这个表达式创建了一个包含10个元素的列表,每个元素都是整数0。
    • 这意味着列表中的每个元素都是相同的对象,它们共享相同的内存地址。
    • 修改其中一个元素会影响到其他所有元素,因为它们实际上是同一个对象的多个引用。
    • 示例代码:
    • 示例代码:
  • li = [set()] * 10:
    • 这个表达式创建了一个包含10个元素的列表,每个元素都是一个空的集合(set)。
    • 这意味着列表中的每个元素都是不同的对象,它们具有不同的内存地址。
    • 修改其中一个元素不会影响到其他元素,因为它们是独立的对象。
    • 示例代码:
    • 示例代码:

综上所述,li = [0] * 10创建了包含相同整数对象的列表,而li = [set()] * 10创建了包含不同集合对象的列表。在修改元素时,前者会影响到所有元素,而后者只会影响到特定元素。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券