如何在Python中初始化一个列表为10倍的默认值?在Python中初始化一个特定长度的列表
我正在寻找一个好看的方式来初始化一个特定范围的空列表。 因此,制作一个包含10个零的列表,以确保我的列表具有特定的长度。
如何在Python中初始化一个列表为10倍的默认值?在Python中初始化一个特定长度的列表
我正在寻找一个好看的方式来初始化一个特定范围的空列表。 因此,制作一个包含10个零的列表,以确保我的列表具有特定的长度。
如果你想要的“默认值”是不可变的,@ eduffy的建议,例如, [0]*10
,够用了。
但是如果你想,说,十dict
秒的列表,请不使用[{}]*10
- 这将让你与相同最初为空dict
十倍的列表,不十个不同的人。相反,使用[{} for i in range(10)]
或类似的结构来构建十个单独的dict
来组成你的列表。
列表乘法工作。
>>> [0] * 10
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Raymond Hettinger在PyCon 2012上谈论Python中的核心容器内部时,建议使用[None] * n
来预先分配所需的长度。
Slides available as PPT或via Google
整个幻灯片平台是挺有意思的。 presentation is available on YouTube,但它并没有太多的幻灯片。
或[{} for _ in range(10)]以避免皮棉警告 – 2013-05-03 01:22:03