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

Initialise a list to a specific length in Python

本问题已经有最佳答案,请猛点这里访问。

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

我正在寻找一种漂亮的方法来初始化具有特定范围的空列表。所以做一个包含10个零的列表,或者一些东西,以确保我的列表有一个特定的长度。


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

但是,如果你想,比如说,一个十个dict的列表,不要使用[{}]*10——这会给你一个相同的列表,初始为空的dict十次,而不是十个不同的列表。相反,使用[{} for i in range(10)]或类似的构造,构造10个单独的dict来组成您的列表。


列表乘法工作。

1
2
>>> [0] * 10
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


RaymondHettinger在Pycon2012上关于Python核心容器内部的一次讨论中建议使用[None] * n来预先分配您想要的长度。

幻灯片可通过PPT或谷歌获得

整个幻灯片非常有趣。该演示文稿在YouTube上提供,但不会给幻灯片增加太多内容。