Python中列表和字符串的反转

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

一、Python现成的反转功能:

在Python中有专门进行列表反转的函数--reverse()

l = [13, 30, 42, 85, 9, 45]
l.reverse() # [45, 9, 85, 42, 30, 13]

还可以使用切片操作进行列表反转

l = [13, 30, 42, 85, 9, 45]
print(l[::-1]) # [45, 9, 85, 42, 30, 13]

关于字符串的反转,并没有确切的函数对字符串进行反转,但是字符串也可以使用切片进行反转

s = "hello"
print(s[::-1]) # olleh

以上对列表和字符串的反转,都是现成的,使用起来很方便;但是我们也可以自己为列表和字符串手写一个反转函数(仅供参考)

二、列表反转函数:

  • 把列表中的值当成转成字典的value,字典的key为递增的数字
  • 通过sorted()对字典key进行降序
  • 依次取出进行降序后字典的value值,放到列表中
  • 得到的就是反转后的列表

代码:

def reverse_list(n: list) -> list:
    d = dict(zip([i for i in range(len(n))], n))
    return [d[k] for k in sorted(d, reverse=True)]

使用:

l = [13, 30, 42, 85, 9, 45]
print(reverse_list(l)) # [45, 9, 85, 42, 30, 13]
  • 把列表通过 enumerate() 返回一个可以枚举的对象,该对象的next()方法将返回一个元组
  • 把返回的元组放到一个新的列表中,通过sorted() 进行列表排序(根据列表中元组元素的第一个元素进行排序,使用降序)
  • 遍历排序后的新列表,取每个元组元素的第二个元素,组成新列表
  • 得到的新列表就是反转后的列表

代码:

def reverse_list(l: list) -> list:
    return [i[1] for i in sorted([v for v in enumerate(l)], reverse=True)]

使用:

l = [13, 30, 42, 85, 9, 45]
print(reverse_list(l)) # [45, 9, 85, 42, 30, 13]
  • 取列表最后一位追加到新列表后面
  • 然后通过切片把最后一位之前的数据重新赋值给当前列表
  • 依次重复操作,直至列表为空
  • 得到的新列表就是反转后的

代码:

def reverse_list(n: list) -> list:
    a = []
    while len(n) > 0:
        a.append(n[-1])
        n = n[:-1]
    return a

使用:

l = [13, 30, 42, 85, 9, 45]
print(reverse_list(l)) # [45, 9, 85, 42, 30, 13]
  • 通过切片获取列表下标为 [-i - 1] 的元素
  • 把切片得到的元素添加到新的列表中
  • 依次重复操作,直至循环结束
  • 得到的新列表就是反转后的

代码:

def reverse_list(n: list) -> list:
    return [n[-i - 1] for i in range(len(n))]

使用:

l = [13, 30, 42, 85, 9, 45]
print(reverse_list(l)) # [45, 9, 85, 42, 30, 13]

三、字符串反转函数:

  • 通过切片获取字符串最后一位
  • 通过字符串拼接,把最后一位拼接到新的字符串中
  • 然后通过切片把最后一位之前的数据重新赋值给当前字符串
  • 依次重复操作,直至字符串为空
  • 得到的新字符串就是反转后的

代码:

#学习中遇到问题没人解答?小编创建了一个Python学习交流群:153708845

def reverse_str(s: str) -> str:
    new_s = ''
    while len(s) > 0:
        new_s += (s[-1])
        s = s[0:-1]
    return new_s

使用:

s = "hello"
print(reverse_str(s)) # olleh
  • 通过切片获取字符串下标为 [-i - 1] 的元素
  • 通过字符串拼接,把切片得到的元素拼接到新的字符串中
  • 依次重复操作,直至循环结束
  • 得到的新字符串就是反转后的

代码:

def reverse_str(s: str) -> str:
    new_s = ''
    for i in range(len(s)):
        new_s += s[-i - 1]
    return new_s

使用:

s = "hello"
print(reverse_str(s)) # olleh

以上就是关于Python中列表和字符串的反转操作(这才是冰山一角,还有更多的实现方式),实际应用中还是使用列表自带的函数和切片操作进行反转即可,手写的仅供参考使用,写代码嘛,怎么简单易懂怎么来。文章来源地址https://www.toymoban.com/news/detail-856732.html

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

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

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

相关文章

  • 【算法第六天7.19】反转字符串,反转字符串||,剑指 Offer 05. 替换空格,反转字符串的单词, 左旋转字符串

    ================================================ 思路 :以中间为分界线,左右两个边界交换字符,依次向里收缩 思路 : 首先:字符串转化为字符数组 char[] res = s.toCharArray(); 最后:将数组再转回字符串 return new String(res); 1、循环以2k为单位, 2、在这个2k长的数组中进行反转,需要有首

    2024年02月16日
    浏览(45)
  • 【代码随想录 | Leetcode | 第十一天】字符串 | 反转字符串 | 反转字符串 II | 替换空格 | 反转字符串中的单词 | 左旋转字符串

    欢迎来到小K的Leetcode|代码随想录|专题化专栏,今天将为大家带来字符串~反转字符串 | 反转字符串 II | 替换空格 | 反转字符串中的单词 | 左旋转字符串的分享 ✨ ✨题目链接点这里 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要

    2024年02月15日
    浏览(36)
  • 如何从 Python 中的字符串列表中删除特殊字符?

    在进行字符串处理和文本分析时,有时我们需要从字符串列表中删除特殊字符。特殊字符可能是空格、标点符号、换行符等,在某些情况下它们可能干扰我们的文本处理或分析任务。Python 提供了多种方法来删除字符串列表中的特殊字符。本文将详细介绍在 Python 中删除字符串

    2024年02月08日
    浏览(42)
  • Python 中将字符串拆分为整数列表

    将字符串拆分为整数列表: 使用 str.split() 方法将字符串拆分为字符串列表。 使用列表理解来迭代字符串列表。 使用 int() 类将每个字符串转换为整数。 列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。 在每次迭代中,我们将当前列表项传递给 int() 类

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

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

    2023年04月16日
    浏览(34)
  • python中字符串和列表之间的转换

    python内置了list() 和str()强制转换类型的方法,但是在实际的应用中,我们并不能直接就使用这俩个方法进行字符串和列表之间的转换,还需要借助 split() 和join()方法 1、字符串转列表 s = \\\'hello world hello kitty\\\' 已知字符串s,想把这个字符串转换成list: print(list(s)) #这种方法也可以

    2023年04月22日
    浏览(29)
  • Python如何判断列表中是否包含字符串?

    Python如何判断列表中是否包含字符串? 在Python编程中,我们经常需要对列表进行操作,其中一个常见的问题是如何判断列表中是否包含特定的字符串。本文将为您介绍几种实现方法。 方法一:使用in操作符 Python中可以使用in操作符快速判断一个列表是否包含某个字符串。示例

    2024年02月08日
    浏览(50)
  • Python数据容器——列表、元组、字符串、集合、字典

    作者: Insist-- 个人主页: insist--个人主页 本文专栏:Python专栏 专栏介绍: 本专栏为 免费 专栏,并且会持续更新python基础知识,欢迎各位订阅关注。 目录 一、了解数据容器 1. 为什么需要数据容器? 2. 数据容器是什么? 二、数据容器—列表(list) 1. 列表的定义 2. 列表的

    2024年02月08日
    浏览(51)
  • Python中将字符串转换为列表的常用方法

    📚 个人网站:ipengtao.com 在Python编程中,将字符串转换为列表是一项常见而有用的任务,这对于文本处理、数据解析以及各种编程任务都至关重要。Python提供了多种方法来实现这一目标,每种方法都具有其独特的用途和适用场景。 本文将详细介绍Python中将字符串转换为列表的

    2024年02月05日
    浏览(33)
  • php 中文字符串反转【字符串】

    场景:英文字符串反转 使用 方法  strrev($str)  ,但是中文字符串怎么反转呢? 代码 输出  引用: mb_str_split 实现方式 php中mb_str_split分割字符串为数组的函数介绍与使用以及低版本php函数实现_php split字符串分割字符串_豆子林的博客-CSDN博客 mb_str_split将返回一个字符串数组,这

    2024年02月15日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包