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:

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)

l.reverse()

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,谢谢!

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值