首頁 >後端開發 >Python教學 >Python實作字反轉效果

Python實作字反轉效果

巴扎黑
巴扎黑原創
2017-08-08 14:49:091922瀏覽

這篇文章主要為大家詳細介紹了Python字串處理實現單字反轉的方法,具有一定的參考價值,有興趣的小夥伴們可以參考一下

Python字串處理學習中,有一道簡單但很經典的題目,按照單字對字串進行反轉,並對原始空格保留:
如: ' I love China! '
轉化為:' China! love I '

兩個解決方案:

方案1:從前往後對字串進行遍歷,如果第一個就是空格,直接跳過,直到第一個不是空格的字符,如果是單獨的字母,同樣跳過,否則的話,將該單詞進行反轉,再往後遍歷,最後使用reserve方法,讓整個字符串從後往前打印。

方案2:直接使用re(正規化)套件進行反轉

程式碼如下:


import re

def reserve(str_list, start, end):
  while start <= end:
    str_list[start], str_list[end] = str_list[end], str_list[start]
    end -= 1
    start += 1

str = &#39; I love china!  &#39;
str_list = list(str)
print(str_list)
i = 0
print(len(str_list))

# 从前往后遍历list,如果碰到空格,就调用反转函数,不考虑单个字符情况
while i < len(str_list):
  if str_list[i] != &#39; &#39;:
    start = i
    end = start + 1
    print(end)
    while (end < len(str_list)) and (str_list[end]!=&#39; &#39;):
      end += 1
    if end - start > 1:
      reserve(str_list, start, end-1)
      i = end
    else:
      i = end
  else:
    i += 1

print(str_list)
str_list.reverse()
print(&#39;&#39;.join(str_list))

# 采用正则表达式操作
str_re = re.split(r&#39;(\s+)&#39;,str)

str_re.reverse()
str_re = &#39;&#39;.join(str_re)
print(str_re)

以上是Python實作字反轉效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn