您可以使用具有任何 类型的星形形式,如下所示
print [5] * 3
print "abc" * 3
print [1.1] * 3
print (8,) * 3
举例来说
nums = [5] * 3
print map(id, nums)
[41266184, 41266184, 41266184]
id
函数提供当前对象的唯一ID。如您所见,以这种方式创建不可变对象非常简单且高效。因为创建的对象中的所有元素都指向同一元素。(记住使用的对象是不可变的)
因此,根据 ,
如果对象是 ,则使用列表理解形式
[Foo() for i in range(3)]
如果对象是 ,则使用可以使用星型
[5] * 3