以下是代码:
a=[1,2,3]
a[1]=10,20,30
print a
a[1:2]=10,20,30
print a
a[1:2]=[10,20,30]
print a
结果是:
[1, (10, 20, 30), 3]
[1, 10, 20, 30, 20, 30]
[1, 10, 20, 30, 20, 30, 3]
谁能告诉我发生了什么?
答案 0 :(得分:4)
您应该查看slicing notation。简而言之,您的第一个操作创建了一个列表。你的第二个操作在索引1处插入了一个元组。你的第三个操作用一个元组的内容替换了一个列表切片,而第四个操作用另一个列表的内容替换了一个列表切片。
答案 1 :(得分:2)
a=[1,2,3]
print a
a[1]=10,20,30 # add a tuple at position 1
print a
a[1:2]=10,20,30 #replaces tuple and inserts 10,20,30 at position 1
print a
a[1:2]=[10,20,30] #now a[1:2] is 10 so this replaces 10 and inserts 10,20,30 at position 1
print a
<强>输出强>
[1, 2, 3]
[1, (10, 20, 30), 3]
[1, 10, 20, 30, 3]
[1, 10, 20, 30, 20, 30, 3]
注意:最后永远不会有30。 希望这会有所帮助。