Python实现字符串反转的9种方法(最全)

 更新时间:2023年07月19日 15:46:39   作者:金州饿霸  
本文主要介绍了Python实现字符串反转的9种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

样例:如 a='123456789' 反转成 a='987654321'

第一种方法:使用字符串切片(简单好用)

a = '123456789'
print(a[::-1])

运行结果:987654321

第二种方法:使用reversed() 可读行好,但速度较慢

print(''.join(reversed('123456789')))

运行结果:987654321

封装使用:

def reversed_string(a_string):
    return a_string[::-1]
print(reversed_string('123456789'))

运行结果:987654321

注意:

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

第四种方法:循环从字符串提取数据,写入到一个空列表中,然后使用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

到此这篇关于Python实现字符串反转的9种方法(最全)的文章就介绍到这了,更多相关Python 字符串反转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现序列化及csv文件读取

    Python实现序列化及csv文件读取

    这篇文章主要介绍了Python实现序列化及csv文件读取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 基于Python绘制520表白代码

    基于Python绘制520表白代码

    这周五就是520,大家都准备好送给女朋友的礼物了吗?快来利用Python编写个表白代码送给她吧!文中示例代码讲解详细,跟随小编一起动手试一试吧
    2022-05-05
  • python和js交互调用的方法

    python和js交互调用的方法

    在本篇文章里小编给大家整理了关于python和js交互调用的方法,需要的方法可以参考学习下。
    2020-06-06
  • python文件处理--文件读写详解

    python文件处理--文件读写详解

    这篇文章主要介绍了Python 处理文件的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • Django之路由层的实现

    Django之路由层的实现

    这篇文章主要介绍了Django之路由层的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Python基于mysql实现学生管理系统

    Python基于mysql实现学生管理系统

    这篇文章主要为大家详细介绍了Python基于mysql实现学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 基于Python实现天天酷跑功能

    基于Python实现天天酷跑功能

    这篇文章主要介绍了基于Python实现天天酷跑功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • python使用sessions模拟登录淘宝的方式

    python使用sessions模拟登录淘宝的方式

    这篇文章主要介绍了python使用sessions模拟登录淘宝的方式,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • Python连接Azure Storage进行数据交互的实现

    Python连接Azure Storage进行数据交互的实现

    本文主要介绍了Python连接Azure Storage进行数据交互的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • pytorch模型预测结果与ndarray互转方式

    pytorch模型预测结果与ndarray互转方式

    今天小编就为大家分享一篇pytorch模型预测结果与ndarray互转方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论