every blog every motto: You can do more than you think.
0. 前言
记录列表中部分切片翻转小结
1. 正文
1.1 列表反转小记
a = [i for i in range(10)]
print(a)
法一:
b1 = list(reversed(a))
print(b1)
法二:
b2 = sorted(a, reverse=True)
print(b2)
法三:
b3 = a[::-1]
print(b3)
1.2 切片法翻转部分
切片翻转格式:
a[start: end: -1]
- 从索引start开始到end结束(不包括end)
- start 大于 end
例:
切最后两个,并翻转
print('*'*10)
d = a[9:7:-1]
print(d)
注意1:
start可大于最后的索引,如:
最后的索引为9,如下start可为19,
print('*'*10)
d = a[19:7:-1]
print(d)
注意2:
不包括end,所以取到“最后”元素要注意
print('*'*10)
d = a[9:0:-1]
print(d)
取不到“最后”元素0,后移一个呢,即end设为-1
print('*'*10)
d = a[9:-1:-1]
print(d)
如下,代码无效
取到“最后”索引方法
法一:
不指定end,即可
print('*'*10)
d = a[9::-1]
print(d)
法二:
具体如下所示,
print('*'*10)
start = 0
d = a[9:None if not start else start - 1:-1]
# d = a[9::-1]
print(d)
参考文献
[1] https://blog.csdn.net/qq_37969201/article/details/80406726
[2] https://blog.csdn.net/weixin_42514222/article/details/113508845