>백엔드 개발 >파이썬 튜토리얼 >Python은 단어 반전 효과를 구현합니다.

Python은 단어 반전 효과를 구현합니다.

巴扎黑
巴扎黑원래의
2017-08-08 14:49:091919검색

이 글은 주로 Python 문자열 처리에서 단어 반전 방법을 자세히 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.

Python 문자열 처리를 배울 때, 간단하지만 매우 유용한 방법인 reverse가 있습니다. 단어에 따라 문자열을 유지하고 원래 공백을 유지합니다.
예: ' I love China! '
변환: ' China! love I '

두 가지 솔루션:

옵션 1: 앞에서 문자열을 탐색합니다. to back. 첫 번째 문자가 공백인 경우 공백이 아닌 첫 번째 문자까지 직접 건너뛰고, 그렇지 않으면 단어를 Reverse로 바꾸고 뒤로 이동한 후 마지막으로 사용합니다. 전체 문자열을 뒤에서 앞으로 인쇄하는 예약 방법입니다.

옵션 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으로 문의하세요.