无需任何功能:
>>> L = [1,2,3,4,5]>>> [L]*3[[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]
但是,您应注意,如果您在任何一个列表中更改一个值,则其他所有值都会更改,因为它们引用了相同的对象。
>>> mylist = [L]*3>>> mylist[0][0] = 6>>> print mylist[[6, 2, 3, 4, 5], [6, 2, 3, 4, 5], [6, 2, 3, 4, 5]]>>> print L[6, 2, 3, 4, 5]
为了避免这种情况:
>>> L = [1,2,3,4,5]>>> mylist = [L[:] for _ in range(3)]>>> mylist[0][0] = 6>>> print L[1, 2, 3, 4, 5]>>> print mylist[[6, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]
请注意,它
L没有变化,只有第一个列表
mylist发生了变化。
感谢大家在评论中的帮助:)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)