在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上可用 ,但对幻灯片没有多大帮助。