python 將字符串完成特定的向右移動(dòng)方法
# 將字符串中的元素完成特定的向右移動(dòng),參數(shù):字符串、移動(dòng)長(zhǎng)度 如:abcdef,移動(dòng)2,結(jié)果:efabcd
#原始方法,基本思想:末尾元素移動(dòng)到開(kāi)頭,其他的元素依次向后移動(dòng).代碼如下:
def move(lt, n): lt = list(lt) #將字符串轉(zhuǎn)換為列表 for i in range(n % len(lt)):#確定移動(dòng)幾次,比如說(shuō)移動(dòng)從長(zhǎng)度和列表的長(zhǎng)度相同時(shí),就沒(méi)必要移動(dòng) t = lt[len(lt) - 1] #取出末尾元素 for j in reversed(range(len(lt) - 1)): #逆序遍歷除末尾元素的列表 lt[j + 1] = lt[j] #將前一個(gè)元素的值賦值給后一個(gè)元素 lt[0] = t #將之前取出的末尾元素的值賦值給列表的首位 return "".join(lt) #將列表中拼接成字符串,并返回
上述方法是我基于C語(yǔ)言編寫(xiě)的并未體現(xiàn)python這門(mén)語(yǔ)言的好處,下面列出幾種方法,可以體現(xiàn)出Python的好處
def move(lt, n): lt = list(lt) #將字符串轉(zhuǎn)換為列表 for i in range(n % len(lt)): #確定進(jìn)行幾次移動(dòng) lt.insert(0, lt.pop()) #通過(guò)列表的pop方法取出末尾元素,在通過(guò)insert函數(shù)將取出的元素插入到列表的首位 return "".join(lt) def move(lt, n): for i in range(n % len(lt)): #確定進(jìn)行幾次移動(dòng) lt = lt[-1] + lt[0:-1] #通過(guò)字符串的切片,切除最后一個(gè)元素,然后加上從開(kāi)頭到倒數(shù)第二個(gè)元素 return lt
以上兩種方法可以體現(xiàn)出Python語(yǔ)言的簡(jiǎn)潔性,但作為程序員不能止步不前,C語(yǔ)言才是根本,第一種方法使用C語(yǔ)言的思想編用python語(yǔ)言編寫(xiě)的.
以上這篇python 將字符串完成特定的向右移動(dòng)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)更新表數(shù)據(jù)接口的功能
這篇文章主要給大家介紹了關(guān)于Python如何實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)更新表數(shù)據(jù)接口功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11Python通過(guò)隊(duì)列實(shí)現(xiàn)進(jìn)程間通信詳情
這篇文章主要介紹了Python通過(guò)隊(duì)列實(shí)現(xiàn)進(jìn)程間通信詳情文章通過(guò)提出問(wèn)題:在多進(jìn)程中,每個(gè)進(jìn)程之間是什么關(guān)系展開(kāi)主題相關(guān)內(nèi)容,感興趣的朋友可以參考一下2022-06-06Python析構(gòu)函數(shù)__del__定義原理解析
這篇文章主要介紹了Python析構(gòu)函數(shù)__del__定義原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Python類的動(dòng)態(tài)綁定實(shí)現(xiàn)原理
這篇文章主要介紹了Python類的動(dòng)態(tài)綁定實(shí)現(xiàn)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Python實(shí)現(xiàn)將多張圖片合成視頻并加入背景音樂(lè)
這篇文章主要為大家介紹了如何利用Python實(shí)現(xiàn)將多張圖片合成mp4視頻,并加入背景音樂(lè)。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-04-04python滑塊驗(yàn)證碼的破解實(shí)現(xiàn)
這篇文章主要介紹了python滑塊驗(yàn)證碼的破解實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11