在Python中初始化一个特定长度的列表
如何在Python中使用10倍的默认值初始化一个列表?
我正在寻找一个好看的方式来初始化一个特定范围的空列表。 所以做一个包含10个零的列表,以确保我的列表具有特定的长度。
如果你想要的“默认值”是不可变的,@ eduffy的build议,例如[0]*10
就足够了。
但是如果你想要的话,比如十个dict
的列表,不要使用[{}]*10
– 这会给你一个十个相同的最初空dict
, 而不是十个不同的dict
。 相反, [{} for i in range(10)]
使用[{} for i in range(10)]
或类似的构造,来构造十个单独的dict
来组成你的列表。
列表乘法工作。
>>> [0] * 10 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
在PyCon 2012上关于Python的核心容器内部的讨论中,Raymond Hettingerbuild议使用[None] * n
来预先分配你想要的长度。
幻灯片可用作PPT或通过谷歌
整个幻灯片平台很有趣。 该演示文稿在YouTube上可用 ,但对幻灯片没有多大帮助。