在python中使用*运算符创建列表

时间:2012-08-03 02:29:22

标签: python list

[0] * 5为什么要创建列表[0, 0, 0, 0, 0],而不是[[0], [0], [0], [0], [0]]

*运算符不会重复[0] 5次,导致[[0], [0], [0], [0], [0]]

3 个答案:

答案 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]]。