Python列表reverse()函数使用方法详解

 更新时间:2023年07月19日 09:13:21   作者:士别三日wyx  
这篇文章主要详细介绍了Python列表reverse()函数使用方法,文章通过代码示例讲解的非常详细,对我们的学习或工作有一定的帮助,需要的朋友可以参考下

reverse() 可以「反转」列表中的函数

语法

list.reverse()

返回值

  • None ,没有返回值,会修改列表,反转元素顺序。

实例:反转列表中的元素顺序

list1 = [1, 2, 3]
list1.reverse()
print(list1)

输出:

[3, 2, 1]

1、reverse()会修改原始副本

reverse() 设计的目的就是反转原始列表并返回None。

这样设计的好处就是,不需要创建新的列表,从而减少「资源」的使用。

我们接收 reverse() 的返回值,打印一下,发现是个None。

list1 = [1, 2, 3]
list2 = list1.reverse()
print(list2)

输出:

None

我们再看一下反转前、后的内存地址

list1 = [1, 2, 3]
print('反转前:', id(list1))
list1.reverse()
print('反转前:', id(list1))

输出:

反转前: 2127562869952
反转前: 2127562869952

可以发现,内存地址没有变,但内容不一样了,这意味着反转前的数据「消失」了,这一点在使用时需要注意。

2、reverse()和reversed()的区别?

reversed() 也能反转列表,同时「不修改」原始列表。

list1 = [1, 2, 3]
list2 = list(reversed(list1))
print(list1)
print(list2)

输出:

[1, 2, 3]
[3, 2, 1]

reversed() 返回的是下面这种「反向迭代器」,需要转成list才能正常使用。

list1 = [1, 2, 3]
list2 = reversed(list1)
print(list2)

输出:

<list_reverseiterator object at 0x000002414D7CA880>

3、其他类型

字符串、元组、字典等类型不能使用 reverse() 函数,否则会报错 AttributeError: ‘str’ object has no attribute ‘reverse’。

当然,这些类型可以使用 reversed() 反转,配合列表推导式:

str1 = 'abc'
print([x for x in reversed(str1)])
tuple1 = (1, 2, 3)
print(tuple(reversed(tuple1)))
dict1 = {'key1': 1, 'key2': 2}
print([x for x in reversed(dict1)])

输出:

['c', 'b', 'a']
(3, 2, 1)
['key2', 'key1']

需要注意的是,列表、元组 reversed() 反转后,可以转换成对应的类型;
但字符串反转后,转换类型无效;而元组反转后,转换类型会报错:

str1 = 'abc'
print(str(reversed(str1)))
dict1 = {'key1': 1, 'key2': 2}
print(dict(reversed(dict1)))

输出:

4、使用切片实现反转元素

通过「切片」的方式,反转列表中的元素,格式 [start:end:step],这种方式同样不会改变原列表。

list1 = [1, 3, 2, 5]
print(list1[::-1])
print(list1)

输出:

[5, 2, 3, 1]
[1, 3, 2, 5]

到此这篇关于Python列表reverse()函数使用方法详解的文章就介绍到这了,更多相关Python列表reverse()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python下singleton模式的实现方法

    Python下singleton模式的实现方法

    这篇文章主要介绍了Python下singleton模式的实现方法,有一定的借鉴价值,需要的朋友可以参考下
    2014-07-07
  • Python实现批量提取PPT中的文字

    Python实现批量提取PPT中的文字

    这篇文章主要为大家详细介绍了如何使用Python中的pptx和docx库来将PPT中的文字提取到Word中,文中的示例代码讲解详细,有需要的可以参考下
    2024-03-03
  • python通过zabbix api获取主机

    python通过zabbix api获取主机

    这篇文章主要为大家详细介绍了python通过zabbix api获取主机,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 解决安装和导入tensorflow、keras出错的问题

    解决安装和导入tensorflow、keras出错的问题

    这篇文章主要介绍了解决安装和导入tensorflow、keras出错的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • python3.6.4安装opencv3.4.2的实现

    python3.6.4安装opencv3.4.2的实现

    这篇文章主要介绍了python3.6.4安装opencv3.4.2的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Python爬虫实战之爬取京东商品数据并实实现数据可视化

    Python爬虫实战之爬取京东商品数据并实实现数据可视化

    今天再带大家简单爬一波京东的商品数据呗,废话不多说,文中有非常详细的代码示例,需要的朋友可以参考下
    2021-06-06
  • Python UnicodedecodeError编码问题解决方法汇总

    Python UnicodedecodeError编码问题解决方法汇总

    本文主要介绍了Python UnicodedecodeError编码问题解决方法汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • python如何实现排序,并标上序号

    python如何实现排序,并标上序号

    这篇文章主要介绍了python如何实现排序,并标上序号,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Python基础语法中defaultdict的使用小结

    Python基础语法中defaultdict的使用小结

    Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要介绍了Python基础语法中defaultdict的使用小结,感兴趣的可以了解一下
    2025-04-04
  • django基于restframework的CBV封装详解

    django基于restframework的CBV封装详解

    这篇文章主要介绍了django基于restframework的CBV封装详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论