我是Python的新手,有人可以告诉我这两段代码的输出之间的区别:
1
>> example = [1, 32, 1, 2, 34]
>> example[4:0] = [122]
>> example
[1, 32, 1, 2, 122, 34]
2
>> example = [1, 32, 1, 2, 34]
>> example[4:1] = [122]
>> example
[1, 32, 1, 2, 122, 34]
答案 0 :(得分:5)
您的切片在索引4
处给出一个空列表,因为上限小于下限:
>>> example[4:0]
[]
>>> example[4:1]
[]
此空列表将替换为您的列表[122]
。效果与:
>>> example.insert(4, 122)
请记住,带有一个元素的空列表和列表没有什么特别之处,即使它们在使用它们时所具有的效果在开始时并不那么明显。 Python tutorial有更多详细信息。
答案 1 :(得分:1)
这里没有错。输出是相同的,因为两个代码snipets中唯一不同的行是
example[4:0] = [122]
和
example[4:1] = [122]
它们都将在索引4处添加并分配值122(我假设大小为1 = =值的列表)到元素之后,因为切片上边界中的数字小于4两种情况都没有效果。