您可以使用具有任何 不可变 类型的星形形式,如下所示
print [5] * 3print "abc" * 3print [1.1] * 3print (8,) * 3
举例来说
nums = [5] * 3print map(id, nums)
在我的机器上输出
[41266184, 41266184, 41266184]
id函数提供当前对象的唯一ID。如您所见,以这种方式创建不可变对象非常简单且高效。因为创建的对象中的所有元素都指向同一元素。(记住使用的对象是不可变的)
因此,根据 经验 ,
如果对象是 可变的 ,则使用列表理解形式
[Foo() for i in range(3)]
如果对象是 不可变的 ,则使用可以使用星型
[5] * 3
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)