首页 > 解决方案 > 理解python中的切片行为

问题描述

切片的一般语法

[start:stop:step]

它将被评估start:stop-1step(默认1)

>>> l = [x for x in range(5)]
>>> l[0:6]
[0, 1, 2, 3, 4]
>>> l[1:-1] #case second
[1, 2, 3]
>>> l[1:-5] #case third
[]

为什么在第三种情况下它返回一个空列表,而且我不明白在第二种情况下,如果在-ve 中停止值,步长如何增加1 。

标签: pythonlistslice

解决方案


l[-5] = 0

这样做:

l[1:-5]

和做的一样:

l[1:0]

和任何其他负范围一样(不要与负数混淆!) - 它会返回一个空列表


推荐阅读