python怎么将字符串逆序_python中如何把⼀个字符串顺序逆
序反转的⼏种⽅法?
如 a='123456789' 反转成 a='987654321'
第⼀种⽅法:使⽤字符串切⽚
>>> a='123456789'
>>> a = a[::-1]
'987654321'
第⼆种⽅法:使⽤reversed() 可读⾏好,但速度较慢
>>> ''.join(reversed('123456789'))
'987654321'
封装使⽤
def reversed_string(a_string):
return a_string[::-1]
>>> reversed_string('123456789')
'123456789'
注意:
python的str对象中没有内置的反转函数
python字符串相关基础知识:
python中,字符换是不可变,更改字符串不会修改字符串,⽽是创建⼀个新的字符串。
字符串是可切⽚,切⽚字符串会以给定的增量从字符串中的⼀个点(向后或向前)向另⼀个点提供⼀个新字符串。它们在下标中采⽤切⽚表⽰法或切⽚对象:
# 下标通过在⼤括号中包含冒号来创建切⽚:string[start:stop:step]# 要在⼤括号外创建切⽚,您需要创建切⽚对
slice_obj = slice(start, stop, step)string[slice_obj]
第三种⽅法:循环从字符串提取数据,然后进⾏字符串拼接(慢)
def reverse_a_string_slowly(a_string):
new_string = ''
index = len(a_string)
while index:
index -= 1 # index = index - 1
new_string += a_string[index] # new_string = new_string + character
return new_string
第四种⽅法:循环从字符串提取数据,写⼊到⼀个空列表中,然后使⽤join进⾏字符串拼接(慢)
def reverse_a_string_more_slowly(a_string):
new_strings = []
index = len(a_string)
while index:python怎么读的
index -= 1
new_strings.append(a_string[index])
return ''.join(new_strings)
第五种⽅法:使⽤字符串拼接(慢)
def string_reverse(a_string):
n = len(a_string)
x=""
for i in range(n-1,-1,-1):
x += test[i]
return x
第六种⽅法:使⽤reduce
reduce(lambda x,y : y+x, a_string)
第七种⽅法:使⽤递归(慢)
def rev_string(s):
if len(s) == 1:
return s
return s[-1] + rev_string(s[:-1])
第⼋种⽅法:使⽤list() 和reverser()配合
a_string='123456789'def rev_string(a_string): l=list(a)
return ''.join(l)
第九种⽅法:使⽤栈
def rev_string(a_string):
l = list(a_string) #模拟全部⼊栈
new_string = ""
while len(l)>0:
new_string += l.pop() #模拟出栈
return new_string
本博客源码Github地址:
请随⼿给个star,谢谢!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论