[0] * 5
为什么要创建列表[0, 0, 0, 0, 0]
,而不是[[0], [0], [0], [0], [0]]
?
*
运算符不会重复[0]
5次,导致[[0], [0], [0], [0], [0]]
?
答案 0 :(得分:6)
就像数学一样:
[0] * 5 = [0] + [0] + [0] + [0] + [0]
,即[0, 0, 0, 0, 0]
。
我认为如果[0] + [0]
突然变成[[0], [0]]
,人们会更加惊讶。
对于字符串,元组和列表,+
是追加运算符。这种乘法适用于所有这些。
答案 1 :(得分:2)
阅读Python docs for sequence types似乎是因为[0] * 5
是[0] + [0] + [0] + [0] + [0]
的简写(正如数学中的乘法是加法的简写;当“乘法”列表时它的作用相同)。
答案 2 :(得分:0)
不,它会增加元素和[0]列表(就像数学集合)有一个元素0,而不是[[0]]。