第一種方法:特點是直接、容易理解,缺點是速度慢,只能實現迴圈左移。
def demo(lst, k):
temp = lst[:]
for i in range(k):
tempuicgqwnt.append(temp.pop(0))
return temp
第二種方法:特點是速度快,並且自適應迴圈左移(k>0)和右移(k<0),缺點是涉及到演算法,不容易理解。
def demo(lst, www.cppcns.comk):
x = lst[:k]
x.reverse()
y = lst[k:]
y.reverse()
r = x+y
return list(reversed(r))
最pythonic的終極方法:使用切片,簡單易理解,速度最快,可同時實現迴圈左移(k>0)和右移(k程式設計客棧<0)。
def demo(lst, k):
uicgqwntreturn lst[k:] + lst[:k]
本文位址:
python3 for迴圈 Python 迴圈
python 迴圈 本章節將為大家介紹python迴圈語句的使用。python中的迴圈語句有 for 和 while。python迴圈語句的控制結構圖如下所示 while 迴圈 以下例項使用了 while 來計算 1 到 100 的總和 usr bin env python3 n 100 sum 0...
陣列迴圈移位的幾種解法
題目描寫敘述 設計乙個演算法,把乙個含有n個元素的陣列迴圈右移k位。解法一 最easy想到的就是每次將陣列中的元素右移一位,迴圈k次。include using namespace std void rightshift int arr,int n,int k arr 0 t int main fo...
對fft迴圈移位的重新理解
對一組序列做fft變換。從表面上看,他們是無差別的。但是還是分為很多的類。任何東西都可以分類。當你發現都是一樣的時候,說明你還沒有進入他的核心。在談及fft變換之前,先看看fft變換的物件的性質。任何的序列都可以用實數和虛數表示。所以任何序列從某個角度上來劃分,可以分為純實數序列,純虛數序列和雜交的...