Python将字符串逐字符或者逐词反转

如果将一个字符串逐字符来反转其实很简单

>>> s = "ABCD"
>>> s[::-1]
'DCBA'
>>>

如果要将一个字符串逐词反转,就没那么简单,需要做点转换。

方法一:  使用普通方法来实现反转

>>> words = "TOM CAT"
>>> rev_words = s.split()           # 将字符串转换成单词列表
>>> rev_words.reverse()             # 将单词列表反转
>>> " ".join(rev_words)             # 用join函数将单词列表连起来
'CAT TOM'
>>> " ".join(words.split()[::-1])    # 或者合并上面为一句
'CAT TOM'
>>>

方法二:  使用正则匹配来实现反转

>>> import re
>>> words = "TOM CAT"
>>> rev_words = re.split(r"[\t|\s]+", words)        # 使用空格和TAB作为分隔符
>>> rev_words.reverse()                             # 反转
>>> " ".join(rev_words)                             # 使用join来连接反转后的字符
'CAT TOM'
>>>
>>> " ".join(re.split(r"[\t|\s]+", words)[::-1])    # 或者使用一句话来反转
'CAT TOM'
>>>
>>> "".join(reversed(words))                        # 或者使用reversed和join一起来实现目标!
'TAC MOT'
>>>

猜你喜欢

转载自blog.csdn.net/Jerry_1126/article/details/81192390
今日推荐