Python内置函数reversed()用法分析


Posted in Python onMarch 20, 2018

本文实例讲述了Python内置函数reversed()用法。分享给大家供大家参考,具体如下:

reversed()函数是返回序列seq的反向访问的迭代器。参数可以是列表,元组,字符串,不改变原对象。

1》参数是列表

>>> l=[1,2,3,4,5]
>>> ll=reversed(l)
>>> l
[1, 2, 3, 4, 5]
>>> ll
<listreverseiterator object at 0x06A9E930>
>>> for i in ll:#第一次遍历
...  print i,
... 
5 4 3 2 1
>>> for i in ll:第二次遍历为空,原因见本文最后
...  print i
...

2》参数是列表

>>> l=[3,4,5,6]
>>> ll=reversed(l)
>>> l
[3, 4, 5, 6]
>>> ll
<listreverseiterator object at 0x06A07E10>
>>> list(ll)#第一次
[6, 5, 4, 3]
>>> list(ll)#第二次为空,原因见本文最后
[]

3》参数是元组

>>> t=(4,5,6)
>>> tt=reversed(t)
>>> t
(4, 5, 6)
>>> tt
<reversed object at 0x06A07E50>
>>> tuple(tt)#第一次
(6, 5, 4)
>>> tuple(tt)#第二次为空,原因见本文最后
()

4》参数是字符串

>>> s='cba'
>>> ss=reversed(s)
>>> s
'cba'
>>> ss
<reversed object at 0x06A07E70>
>>> list(ss)#第一次
['a', 'b', 'c']
>>> list(ss)#第二次为空,原因见本文最后
[]

5》参数是字符串

>>> s='1234'
>>> ss=reversed(s)
>>> s
'1234'
>>> ss
<reversed object at 0x06A94490>
>>> ''.join(ss)#第一次
'4321'
>>> ''.join(ss)#第二次为空,原因见本文最后
''

为什么reversed()之后,第二次for循环或第二次list()或第二次tuple()或第二次join()得到的结果为空?我们以第2个例子具体说明一下:

That's because reversed creates an iterator, which is already spent when you're calling list(ll) for the second time.

The reason is that ll is not the reversed list itself, but a listreverseiterator. So when you call list(ll) the first time, it iterates over ll and creates a new list from the items output from that iterator.When you do it a second time, ll is still the original iterator and has already gone through all the items, so it doesn't iterate over anything, resulting in an empty list.

小编来翻译一下:

这是因为反向创建了一个迭代器,该迭代器在第二次调用列表(LL)时已经使用过了。

其原因就是ll不是反转列表本身,而是一个列表反向迭代器。所以当你第一次调用列表(ll),它会遍历ll并且创建一个新的列表从项目输出迭代器。当你再进行一次,ll仍然是原来的迭代器,已经经历了所有的项目,所以它不会再遍历什么,这就造成了空列表。

总结:reversed()之后,只在第一次遍历时返回值。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python文件读写并使用mysql批量插入示例分享(python操作mysql)
Feb 17 Python
最基础的Python的socket编程入门教程
Apr 23 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
Python 逐行分割大txt文件的方法
Oct 10 Python
图文详解python安装Scrapy框架步骤
May 20 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
python 解决flask uwsgi 获取不到全局变量的问题
Dec 22 Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 Python
在服务器上安装python3.8.2环境的教程详解
Apr 26 Python
Pycharm打开已有项目配置python环境的方法
Jul 03 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
shell命令行,一键创建 python 模板文件脚本方法
Mar 20 #Python
python如何拆分含有多种分隔符的字符串
Mar 20 #Python
Python中str.join()简单用法示例
Mar 20 #Python
单利模式及python实现方式详解
Mar 20 #Python
python如何去除字符串中不想要的字符
Jul 05 #Python
python删除某个字符
Mar 19 #Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
Mar 19 #Python
You might like
社区(php&amp;&amp;mysql)三
2006/10/09 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
jquery插入兄弟节点的操作方法
2016/12/07 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
详解vue服务端渲染(SSR)初探
2017/06/19 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
jQuery实现飞机大战小游戏
2020/07/05 jQuery
原生JavaScript实现轮播图
2021/01/10 Javascript
Python selenium如何设置等待时间
2016/09/15 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
python中常见错误及解决方法
2020/06/21 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
大学生护理专业自荐信
2013/10/03 职场文书
初中新生军训方案
2014/05/13 职场文书
小学运动会班级口号
2014/06/09 职场文书
2014年消防工作总结
2014/11/21 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python
Python实现对齐打印 format函数的用法
2022/04/28 Python