如何在Python中使用默认值的10倍初始化列表?
我正在寻找一种好看的方法来初始化具有特定范围的空列表.因此,请创建一个包含10个零或其他内容的列表,以确保我的列表具有特定长度.
Ale*_*lli 347
如果你想要的"默认值"是不可变的,@ eduffy的建议,例如[0]*10,就足够了.
但是如果你想,说,十个名单dictS,千万不能使用[{}]*10-这将让你与一个列表相同的最初为空的dict十倍,不是十个不同的.相反,使用[{} for i in range(10)]或类似的结构,构建十个单独的dicts来组成你的列表.
edu*_*ffy 164
列表乘法工作.
>>> [0] * 10
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)
Pej*_*van 46
在PyCon 2012中关于Python核心容器内部的讨论中,Raymond Hettinger建议使用[None] * n预分配你想要的长度.
整个幻灯片非常有趣.该演示文稿可在YouTube上获得,但不会对幻灯片添加太多内容.