【发布时间】:2009-10-22 04:30:22
【问题描述】:
在 Python 中,如果我将对象列表乘以一个整数,我会得到一个对该对象的引用列表,例如:
>>> a = [[]] * 3
>>> a
[[], [], []]
>>> a[0].append(1)
>>> a
[[1], [1], [1]]
如果我想要的行为是创建原始对象的副本列表(例如,由“copy.copy()”方法或某种标准创建的副本,是否有 优雅 方式使用相同的乘法运算符?还是我应该坚持使用列表理解或其他东西?例如
[[] for x in range(0,3)]
任何版本的 Python 都可以。
【问题讨论】: