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.
总结:reversed()之后,只在第一次遍历时返回值。
python 内置函数 reversed()相关推荐
- python for everybody作业和测试答案_【计算题】编写函数,模拟 Python 内置函数 reversed() 。...
[计算题]编写函数,模拟 Python 内置函数 reversed() . 更多相关问题 In California, there lives a pretty girl called Donna G ...
- Python内置函数--reversed()
它将一个序列作为输入,并返回另一个序列,其中元素的顺序与给定输入序列的顺序相反.它不会对原始序列产生任何影响.也就是在原列表的基础上返回一个新的反向列表. 粗略的看看 class reversed(I ...
- python中reversed是什么意思_Python内置函数reversed()用法分析
这篇文章主要介绍了Python内置函数reversed()用法,结合实例形式分析了reversed()函数的功能及针对序列元素相关操作技巧与使用注意事项,需要的朋友可以参考下 reversed()函数 ...
- python 内置函数
python 内置函数 Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你 可以随时调用这些函数,不需要定义. abs() # 求一个数的绝 ...
- 这68个Python内置函数,建议你吃透!
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 整理 | 深度学习这件小事公众号 内置函数就是Python给你提供的, 拿来直接用的函 ...
- python 倒叙 数组_打基础一定要吃透这12类 Python 内置函数
内置函数就是python给你提供的, 拿来直接用的函数,比如print.,input等.截止到python版本3.6.2 python一共提供了68个内置函数,我将它们分成 12 类,方便你学习. s ...
- 8个实用的Python内置函数
python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率. 这次来梳理下8个好用的python内置函数. 1.set() 当需要对一个列表进行去重操作的 ...
- 8个超好用的Python内置函数
python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率. 这次来梳理下8个好用的python内置函数. 1.set() 当需要对一个列表进行去重操作的 ...
- 8个超好用的Python内置函数,提升效率必备!
python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率. 这次来梳理下8个好用的python内置函数. 1.set() 当需要对一个列表进行去重操作的 ...
最新文章
- java中的几种对象(PO,VO,DAO,BO,POJO)
- BZOJ 4002--有意义的字符串(矩阵乘法)
- 国产编程语言又造假,丢不起这人!
- poj 2528_2
- HDU - 3247 Resource Archiver (AC自动机,状压dp)
- leetcode--动态规划(Easy)
- linux监控脚本是否运行状态,Linux Shell脚本之通过json判断应用程序内部运行状态...
- vmware+centeros7安装JavaJDK
- 华为发布全新5G芯片:天罡和巴龙5000
- bootstrap 页面垂直居中_前端布局之——水平垂直居中
- js面向对象的程序设计 --- 上篇(理解对象)
- python中矩阵除法_Python numpy矩阵处理运算工具用法汇总
- ide进行php编程快捷键,PHP IDE phpstorm 快捷键
- c语言 格式字符,c语言的格式符
- 超级牛人华为工作十年离职感想
- Playing with ptrace原文
- 绿地五里桥 设计原型_绿地 · 黄浦滨江项目设计
- 【HTML5】html5中列表、表格、表单控件、浮动框架及结构化标签知识详解大全
- dubbo中标签的使用
- C# 实现WinForm窗口最小化到系统托盘代码
热门文章
- python生成6位数验证码_Python随机生成一个6位的验证码代码分享
- win10关闭任务栏窗口预览
- Domain-Adversarial Training of Neural Networks
- python webkit内核_360浏览器使用meta标签强制使用指定webkit内核 - meta强制用极速模式...
- 网络层协议和数据链路层协议
- PS 中图层为索引,修改成背景可编辑
- 【译】Executor, ExecutorService 和 Executors 间的不同
- 半导体功率器件静态参数测试仪系统 能测 IGBT. Mosfet. Diode. BJT......
- python正则匹配数字或者汉字
- BlockingQueue(阻塞队列)详解