1. 程式人生 > >python reverse反轉部分陣列

python reverse反轉部分陣列

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]