在Python中切片列表

时间:2015-12-17 14:21:51

标签: python python-2.7

我是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]

2 个答案:

答案 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两种情况都没有效果。