python3中,list有个reverse函数,用来反转列表元素,但是如果想要反转部分元素呢?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
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 ]
|
以上这篇python reverse反转部分数组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_41043240/article/details/79930038