Python序列迴圈移位的3種方法推薦

2022-10-03 13:00:15 字數 537 閱讀 9672

第一種方法:特點是直接、容易理解,缺點是速度慢,只能實現迴圈左移。

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變換的物件的性質。任何的序列都可以用實數和虛數表示。所以任何序列從某個角度上來劃分,可以分為純實數序列,純虛數序列和雜交的...