python 列表元素左右循環移動 的多種解決方案
如下所示:
#待處理列表 A= [1,2,3,4,5] #移動次數 a = 3
右移比較簡單
for i in range(a): A.insert(0,A.pop())
左移
for i in range(a): A.insert(len(A),A[0]) A.remove(A[0])
#左移
for i in range(a): b = A.pop(0) A.append(b)
列表雙向隊列
from collections import deque aa = deque(A) #正數表示向右移動,負數表示向左移動 aa.rotate(8) # aa.rotate(-8) print(aa) # deque([3, 4, 5, 1, 2]) print(list(aa)) # [3, 4, 5, 1, 2]
補充:Python 列表元素循環移位
定義函數,完成如下功能: 有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數。函數包括3個參數,分別是整數列表、數字個數、移動次數。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- Python雙端隊列deque的實現
- python中列表(list)和元組(tuple)的深入講解
- Python collections模塊的使用技巧
- Python中的復雜數據類型(list、tuple)
- Python的collections模塊真的很好用