Python - 使用乘法运算符创建列表中对象的副本

标签 python list

<分区>

在 Python 中,如果我将对象列表乘以一个整数,我将得到对该对象的引用列表,例如:

>>> a = [[]] * 3
>>> a
[[], [], []]
>>> a[0].append(1)
>>> a
[[1], [1], [1]]

如果我想要的行为是创建原始对象的副本列表(例如,通过“copy.copy()”方法或某种标准创建的副本,是否有优雅的方式用相同的乘法运算符来做到这一点?还是我应该坚持使用列表理解或其他东西?例如

[[] for x in range(0,3)]

任何版本的 Python 都可以。

最佳答案

这是列表推导式的一个很好的用法——在我看来,它也是最易读的方式。

因此您建议的 [[] for x in range(0,3)] 不是乘法运算符,但会得到您想要的结果。

关于Python - 使用乘法运算符创建列表中对象的副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1605024/

相关文章:

python - 多个数据框 - 使用 pandas 从宽到长

python - 从两个 int64 列构造 PeriodIndex

python - 如何将 QML Drawer 与 Qt Widgets 一起使用?

Python漂亮的列表字典,缩写长列表

java - Android 列出可以查看未知文件的应用程序

以 None 为参数的 Python 列表切片

python - Openpyxl 隐藏图例中的系列数据点

python - 列表中的列表

Python:从列表创建换行符变量

python - 文件名大小写更改在 CentOs 7 上抛出 Os.error[errno 2] python