6种Python字符串反转方式
1倒序输出
s = 'abcde'
print(s[::-1])
#输出: 'edcba'
2 列表reverse()操作
s = 'abcde'
lt = list(s)
lt.reverse()
print(''.join(lt))
#输出: 'edcba'
3 二分法交换位置
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
s = 'abcde'
lt = list(s)
for i in range(len(l) // 2):
lt[i], lt[-(i+1)] = lt[-(i+1)], lt[i]
print(''.join(lt))
#输出: 'edcba'
4 列表生成式
s = 'abcde'
print(''.join([s[i-1] for i in range(len(s), 0, -1)]))
#输出: 'edcba'
5 栈的思想
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
s = 'abcde'
lt = list(s)
res = ''
while lt:
res += lt.pop()
print(res)
#输出: 'edcba'
6 递归的思路
def res_str(s):
if len(s) == 1:
return s
head = s[0]
tail = s[1:]
return res_str(tail)+head
res_str('abcd')
#输出: 'dcba'