时间:2020-10-17 10:42:24 | 栏目:Python代码 | 点击:次
python3中,list有个reverse函数,用来反转列表元素,但是如果想要反转部分元素呢?
a = [1,2,3,4,5] a[0:3].reverse() # not work!!! print(a) >>[1, 2, 3, 4, 5] a = [1,2,3,4,5] c = a[0:3] c.reverse() #曲线救国方法,就是开销大了点 a[:3] = c[:] print(a) >>[3, 2, 1, 4, 5] a = [1,2,3,4,5] a[0:3] = list(reversed(a[0:3])) #work!注意reversed返回的是一个iterator(迭代器),反转前3个数 print(a) >>[3, 2, 1, 4, 5] a = [1,2,3,4,5] a[0:3] = a[2::-1] #work! 参数略复杂,[]中第一个参数是要反转的最后一个数的index,比如这里要翻转前三个数字 1 2 3, #那么第一个参数就是3的index,所以这里是2,第二个参数是要反转的第一个数的index,如果从第一个数开始那么可以省略 #最后一个参数是-1,表示反序 print(a) >>[3, 2, 1, 4, 5]