|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
第一次提问,怯怯的。。
是这样:
>>> list1 = [1, 2, 3]
>>> list1
[1, 2, 3]
>>> list1[0:3:-1]
[]
>>> list1[::-1]
[3, 2, 1]
这里的list1[0:3]和list[:]应该是一样的吧?
那为什么list1[0:3:-1]和list1[::-1]的结果不一样呢?
负数步长时,若起始索引的位置比终止索引的位置靠前,刚切片为空列表,这个楼主可自行验证
说说我刚试的几个小例子:
- >>> a = list(range(10))
- >>> a
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- >>> a[::-1]
- [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
- >>> a[:5:-1]
- [9, 8, 7, 6]
- >>> a[5::-1]
- [5, 4, 3, 2, 1, 0]
- >>> a[:9:-1]
- []
- >>> a[:5:-2]
- [9, 7]
复制代码
根据以上几个例子:
1、当步长为负值时,若起始索引未给出,它会将其定为尾部;
2、当步长为负值时,若终止索引未给出,它会将其定为头部;
两者正好与步长为正时相反
|
|