Python中实现字符串翻转
来源:互联网 发布:首席数据执行官 编辑:程序博客网 时间:2024/06/05 19:00
第一种:切片
def reverse_string_by_word(s):
lst = s.split() # split by blank space by default
return ’ ‘.join(lst[::-1])
s = ‘Power of Love’
print reverse_string_by_word(s)
… Love of Power
s = ‘Hello World!’
print reverse_string_by_word(s)
…..World! Hello
第二种:用re模块
import re
s = ‘Hello World!’
re.split(r’\s+’, s) # will discard blank spaces
[‘Hello’, ‘World!’]
re.split(r’(\s+)’, s) # will keep spaces as a group
[‘Hello’, ’ ‘, ‘World!’]
s = ‘< Welcome to EF.COM! >’
re.split(r’\s+’, s) # split by spaces
[‘<’, ‘Welcome’, ‘to’, ‘EF.COM!’, ‘>’]
re.split(r’(\w+)’, s) # exactly split by word
[‘< ‘, ‘Welcome’, ’ ‘, ‘to’, ’ ‘, ‘EF’, ‘.’, ‘COM’, ‘! >’]
re.split(r’(\s+|\w+)’, s) # split by space and word
[‘<’, ’ ‘, ”, ‘Welcome’, ”, ’ ‘, ”, ‘to’, ”, ’ ‘, ”, ‘EF’, ‘.’, ‘COM’, ‘!’, ’ ‘, ‘>’]
”.join(re.split(r’(\s+|\w+)’, s)[::-1])
‘> !COM.EF to Welcome <’
”.join(re.split(r’(\s+)’, s)[::-1])
‘> EF.COM! to Welcome <’
”.join(re.split(r’(\w+)’, s)[::-1])
‘! >COM.EF to Welcome< ‘
第三种:
”.join(reversed(re.split(r’(\s+|\w+)’, s)))
‘> !COM.EF to Welcome <’
Python翻转字符串(reverse string), 一共包含5种方法, 其中第一种最简单, 即步长为-1, 输出字符串;
方法如下
5种方法的比较:
- 简单的步长为-1, 即字符串的翻转(常用);
- 交换前后字母的位置;
- 递归的方式, 每次输出一个字符;
- 双端队列, 使用extendleft()函数;
- 使用for循环, 从左至右输出;
string = ‘abcdef’
def string_reverse1(string):
return string[::-1]
def string_reverse2(string):
t = list(string)
l = len(t)
for i,j in zip(range(l-1, 0, -1), range(l//2)):
t[i], t[j] = t[j], t[i]
return “”.join(t)
def string_reverse3(string):
if len(string) <= 1:
return string
return string_reverse3(string[1:]) + string[0]
from collections import deque
def string_reverse4(string):
d = deque()
d.extendleft(string)
return ”.join(d)
def string_reverse5(string):
#return ”.join(string[len(string) - i] for i in range(1, len(string)+1))
return ”.join(string[i] for i in range(len(string)-1, -1, -1))
print(string_reverse1(string))
print(string_reverse2(string))
print(string_reverse3(string))
print(string_reverse4(string))
print(string_reverse5(string))
输出:
fedcba
fedcba
fedcba
fedcba
fedcba
http://www.jb51.net/article/95501.htm
- Python中实现字符串翻转
- python实现字符串翻转
- Python实现字符串翻转
- 字符串中单词翻转实现
- 使用c++ python实现字符串的翻转
- python 字符串翻转| 单词翻转
- 实现字符串中各单词翻转
- python字符串翻转
- Python :翻转字符串
- Python 字符串排序 | 字符串翻转
- 汇编实现字符串翻转
- 翻转字符串Java实现
- c++实现字符串翻转
- 递归实现字符串翻转
- StringBuffer实现字符串翻转
- 递归实现字符串翻转
- 实现字符串翻转
- 如何实现字符串翻转?
- 在Python中使用__slots__方法的详细教程
- SpriteKit中节点存储个性数据的办法
- 均值滤波&阈值均值滤波
- Unity开发HTC vive 入门
- ubuntu的android studio调试小米手机的方法
- Python中实现字符串翻转
- 【算法】O(1)空间,不改变原数组的情况下找第K大的数
- static
- Java运行时报错:server tomcat v8.0 server at localhost failed to start
- iOS陷阱--NSDateFormatter的线程安全性
- 最大子数组
- HDU
- idea设置tomcat虚拟路径的两种方法
- JDBC(一)简单增删改查