Python实现字符串反转的6种方法

这篇具有很好参考价值的文章主要介绍了Python实现字符串反转的6种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.使用字符串切片

>>> s = "python"
>>> s[::-1]
'nohtyp'
>>>

2.使用列表的reverse方法

>>> s = "python"
>>> lst = list(s)
>>> lst.reverse()
>>> "".join(lst)
'nohtyp'
>>>

手写 reverse

>>> def reverseString(s:str) -> str:
    lst = list(s)
    i, j = 0, len(s)-1
    while i < j:
        lst[i], lst[j] = lst[j], lst[i]
        i , j = i + 1, j - 1
    return "".join(lst)
 
>>> s = 'python'
>>> reverseString(s)
'nohtyp'
>>>

3.使用reduce

>>> from functools import reduce  # Python3 中不可以直接调用reduce
>>> s = "python"
>>> reduce(lambda x, y: y+x, s)
'nohtyp'
>>>

reduce 函数帮助:

>>> help(reduce)
Help on built-in function reduce in module _functools:
 
reduce(...)
    reduce(function, sequence[, initial]) -> value
     
    Apply a function of two arguments cumulatively to the items of a sequence,
    from left to right, so as to reduce the sequence to a single value.
    For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
    ((((1+2)+3)+4)+5).  If initial is present, it is placed before the items
    of the sequence in the calculation, and serves as a default when the
    sequence is empty.
 
>>>

4.使用递归函数

>>> def reverse(s):
    if s == "":
        return s
    else:
        return reverse(s[1:]) + s[0]
 
     
>>> reverse('python')
'nohtyp'
>>>

python中默认的最大递归数:文章来源地址https://www.toymoban.com/news/detail-595297.html

>>> import sys
>>> sys.getrecursionlimit()
1000
>>>

5.使用栈

>>> def rev(s):
    lst = list(s) # 转换成list
    ret = ""
    while len(lst):
        ret += lst.pop() # 每次弹出最后的元素
    return ret
#Python小白学习交流群:711312441 
>>> s = 'python'
>>> rev(s)
'nohtyp'
>>>

6.for循环

>>> def rever(s):
    ret = ""
    for i in range(len(s)-1, 0, -1):
        ret += s[i]
    return ret
 
>>> s = "python"
>>> rev(s)
'nohtyp'
>>> 

到了这里,关于Python实现字符串反转的6种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python截取字符串(字符串切片)方法详解

    从本质上讲,字符串是由多个字符构成的,字符之间是有顺序的,这个顺序号就称为索引(index)。Python 允许通过索引来操作字符串中的单个或者多个字符,比如获取指定索引处的字符,返回指定字符的索引值等。 知道字符串名字以后,在方括号[ ]中使用索引即可访问对应的

    2024年02月01日
    浏览(48)
  • Python 是否有字符串“包含”子字符串方法?

    这个问题的答案是社区的努力。编辑现有答案以改进这篇文章。它目前不接受新的答案或交互。 我正在寻找 Python 中的 string.contains 或 string.indexof 方法。 我想要做: 一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会 使用 in opera

    2024年02月12日
    浏览(59)
  • Python 基础(三):字符串

    之前我们已经提到了:字符串是 Python 的一种数据类型,它可以通过单引号 ‘、双引号 \\\"、三引号 ‘’’ 或 “”\\\" 来定义,本节我们来详细介绍一下。 访问单个字符 打印结果如下所示: 访问范围内字符 打印结果如下所示: Python 使用了 ord() 函数返回单个字符的编码,chr(

    2024年01月24日
    浏览(28)
  • python基础语法之字符串

    单引号,双引号,三引号 通过占位的形式拼接字符串%s %:表示我要占位 s :将变量变成字符串放入占位的地方 见上面代码3有显示 语法:f\\\"内容{变量}\\\";

    2024年02月10日
    浏览(30)
  • python基础语法学习--字符串

    1、字符串定义         (1)单引号定义法         变量名 = \\\'字符串\\\'         (2)双引号定义法         变量名 = \\\"字符串\\\"         (3)三引号定义法         变量名 = \\\"\\\"\\\"字符串\\\"\\\"\\\"         当用变量接收时为字符串,不使用变量接收时为多行注释 2、字符串的引号嵌套

    2024年02月08日
    浏览(34)
  • 【Python 千题 —— 基础篇】字符串拼接

    题目描述 我们在编程过程中经常会遇到把不同字符串拼接在一起的情况,从而更直观地展示给用户我们所要表达的信息。本题将给出两个字符串,请依次将这两个字符串拼接在一起。 输入描述 输入两个字符串,用回车分开。 输出描述 程序将输入的两个字符串依次拼接在一

    2024年02月01日
    浏览(40)
  • Python 字符串的方法整理

    在这里我们说一些Python中字符串比较常用的一些方法,此处进行一个整理汇总,不多举例子了。 一、字符串拼接 我们知道 + 可以实现数字的加法运算,Python在这里进行了运算符的重载,使得 + 也可以进行字符串的拼接。 这是运算符的重载。 二、字符串的切片 sname:字符串名

    2023年04月17日
    浏览(29)
  • 反转字符串 反转字符串 || 反转字符串 |||

     代码: 代码: 可以双指针 也可以用栈来做 代码:

    2024年02月09日
    浏览(32)
  • chatgpt赋能python:Python字符串中取出第一个字符的方法

    在Python中,字符串是一种非常常见的数据类型,我们经常需要对字符串进行一些操作和处理,其中一个常见的操作就是取出字符串的第一个字符。在本文中,我们将介绍几种不同的方法来实现这个操作,并对这些方法进行比较和总结。 一种最基本的方法是使用字符串的索引,

    2024年02月06日
    浏览(50)
  • Python 基础教程【3】:字符串、列表、元组

    本文已收录于专栏 🌻 《Python 基础》 Python 中的字符串是一个有序的字符集合,用于存储或表示基于文本的信息,它不仅能保存文本,而且能保存非打印字符或二进制数据 重点: 双引号或者单引号中的数据,就是字符串 如果使用一对引号来定义字符串,当出现符号冲突时可

    2023年04月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包