# 將字符串中的元素完成特定的向右移動,參數:字符串、移動長度 如:abcdef,移動2,結果:efabcd
#原始方法,基本思想:末尾元素移動到開頭,其他的元素依次向后移動.代碼如下:
def move(lt, n): lt = list(lt) #將字符串轉換為列表 for i in range(n % len(lt)):#確定移動幾次,比如說移動從長度和列表的長度相同時,就沒必要移動 t = lt[len(lt) - 1] #取出末尾元素 for j in reversed(range(len(lt) - 1)): #逆序遍歷除末尾元素的列表 lt[j + 1] = lt[j] #將前一個元素的值賦值給后一個元素 lt[0] = t #將之前取出的末尾元素的值賦值給列表的首位 return "".join(lt) #將列表中拼接成字符串,并返回
上述方法是我基于C語言編寫的并未體現python這門語言的好處,下面列出幾種方法,可以體現出Python的好處
def move(lt, n): lt = list(lt) #將字符串轉換為列表 for i in range(n % len(lt)): #確定進行幾次移動 lt.insert(0, lt.pop()) #通過列表的pop方法取出末尾元素,在通過insert函數將取出的元素插入到列表的首位 return "".join(lt) def move(lt, n): for i in range(n % len(lt)): #確定進行幾次移動 lt = lt[-1] + lt[0:-1] #通過字符串的切片,切除最后一個元素,然后加上從開頭到倒數第二個元素 return lt
以上兩種方法可以體現出Python語言的簡潔性,但作為程序員不能止步不前,C語言才是根本,第一種方法使用C語言的思想編用python語言編寫的.
以上這篇python 將字符串完成特定的向右移動方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
