Python序列循環(huán)移位的3種方法推薦
更新時間:2018年04月09日 09:36:31 作者:qing101hua
下面小編就為大家分享一篇Python序列循環(huán)移位的3種方法推薦,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
第一種方法:特點是直接、容易理解,缺點是速度慢,只能實現(xiàn)循環(huán)左移。
def demo(lst, k): temp = lst[:] for i in range(k): temp.append(temp.pop(0)) return temp
第二種方法:特點是速度快,并且自適應(yīng)循環(huán)左移(k>0)和右移(k<0),缺點是涉及到算法,不容易理解。
def demo(lst, k): x = lst[:k] x.reverse() y = lst[k:] y.reverse() r = x+y return list(reversed(r))
最Pythonic的終極方法:使用切片,簡單易理解,速度最快,可同時實現(xiàn)循環(huán)左移(k>0)和右移(k<0)。
def demo(lst, k): return lst[k:] + lst[:k]
以上這篇Python序列循環(huán)移位的3種方法推薦就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python爬蟲基于lxml解決數(shù)據(jù)編碼亂碼問題
這篇文章主要介紹了Python爬蟲基于lxml解決數(shù)據(jù)編碼亂碼問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07python服務(wù)器與android客戶端socket通信實例
這篇文章主要介紹了python服務(wù)器與android客戶端socket通信的實現(xiàn)方法,實例形式詳細講述了Python的服務(wù)器端實現(xiàn)原理與方法,以及對應(yīng)的Android客戶端實現(xiàn)方法,需要的朋友可以參考下2014-11-11Pytorch深度學(xué)習(xí)gather一些使用問題解決方案
這篇文章主要為大家介紹了Pytorch深度學(xué)習(xí),在使用gather過程中遇到的一下問題,下面給出解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09