如何在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