在Python中将列表初始化为特定长度

时间:2009-06-11 21:09:12

标签: python list

如何在Python中使用默认值的10倍初始化列表?

我正在寻找一种初看具有特定范围的空列表的好看方式。 因此,请创建一个包含10个零或其他内容的列表,以确保我的列表具有特定长度。

3 个答案:

答案 0 :(得分:338)

如果您想要的“默认值”是不可变的,@ eduffy的建议,例如[0]*10,已经足够了。

但是,如果您想要一个包含10个dict的列表,请使用[{}]*10 - 这将为您提供相同的列表最初为空dict十次,十种不同的。而是使用[{} for i in range(10)]或类似结构构建十个单独的dict来构成您的列表。

答案 1 :(得分:160)

列表乘法工作。

>>> [0] * 10
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

答案 2 :(得分:45)

在PyCon 2012上关于Python核心容器内部的讨论中,Raymond Hettinger建议使用[None] * n来预先分配你想要的长度。

Slides available as PPTvia Google

整个幻灯片非常有趣。 presentation is available on YouTube,但它不会给幻灯片增加太多。