python中reversed是什么意思_Python内置函数reversed()用法分析

这篇文章主要介绍了Python内置函数reversed()用法,结合实例形式分析了reversed()函数的功能及针对序列元素相关操作技巧与使用注意事项,需要的朋友可以参考下

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

1》参数是列表

>>>

l=[1,2,3,4,5]

>>>

ll=reversed(l)

>>> l

[1, 2, 3, 4, 5]

>>> ll

>>> 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

>>> list(ll)#第一次

[6, 5, 4, 3]

>>>

list(ll)#第二次为空,原因见本文最后

[]

3》参数是元组

>>> t=(4,5,6)

>>>

tt=reversed(t)

>>> t

(4, 5, 6)

>>> tt

>>>

tuple(tt)#第一次

(6, 5, 4)

>>>

tuple(tt)#第二次为空,原因见本文最后

()

4》参数是字符串

>>> s='cba'

>>>

ss=reversed(s)

>>> s

'cba'

>>> ss

>>> list(ss)#第一次

['a', 'b', 'c']

>>>

list(ss)#第二次为空,原因见本文最后

[]

5》参数是字符串

>>> s='1234'

>>>

ss=reversed(s)

>>> s

'1234'

>>> ss

>>>

''.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内置函数getattr用法

class Tests(object):    #定义类     aaa = '10'          #定义变量       def test(self):     #定义类的方法test     ...

【Python】Python内置函数dir详解

1.命令介绍 最近学习并使用了一个python的内置函数dir,首先help一下: 复制代码代码如下: >>> help(dir)Help on built-in function ...

学习过程中遇到的python内置函数,后续遇到会继续补充进去

1.python内置函数isinstance(数字,数字类型),判断一个数字的数字类型(int,float,comple).是,返回True,否,返回False2.python内置函数id()可以查看 ...

Python 内置函数sorted()在高级用法

对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. ...

为什么需要激活函数 为什么需要归一化 python内置函数:enumerate用法总结

为什么需要激活函数 为什么需要归一化 python内置函数:enumerate用法总结 待办 激活函数的用途(为什么需要激活函数)? 如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情 ...

Python内置函数进制转换的用法

使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...

Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)

使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...

Python之路(第八篇)Python内置函数、zip()、max()、min()

一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回t ...

Python之路Python内置函数、zip()、max()、min()

Python之路Python内置函数.zip().max().min() 一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算, ...

随机推荐

js-PC版监听键盘大小写事件

//获取键盘按键事件,可以使用keyup. //问题:获取到键盘的按下Caps lock键时,不能知道当前状态是大写.还是小写状态. //解决: 设置一个全局判断大小写状态的 标志:isCapital ...

【BZOJ】1119: [POI2009]SLO

题意 长度为\(n(1 \le n \le 1000000)\)的账单,\(+\)表示存1,\(-\)表示取1,任意时刻存款不会为负.初始有\(p\),最终有\(q\).每一次可以耗时\(x\)将某位 ...

centos同步北京时间

yum install ntp ntpdate #ntpdate -u 202.120.2.101 //写入硬件 #hwclock -w 以下是国内常见的NTP服务器 ntp.sjtu.edu.cn ...

C中的预编译宏定义

可以用宏判断是否为ARC环境 #if _has_feature(objc_arc) #else //MRC #endif C中的预编译宏定义 -- 作者: infobillows 来源:网络 在将一 ...

分布式服务框架 Zookeeper -- 管理分布式环境中的数据--转载

原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ Zookeeper 分布式服务框架是 Apache Hadoop ...

解密电子书之四:MCU(freescale)

谈完国产的君正,让我们再看看呛了君正财路的freescale iMX51. 这是freescale近期的主打产品,用的是ARM Cortex A8架构,主频在消费电子领域最高可达800MHz,在工业领 ...

Delphi COM编程技术三类型库(库文件中的工具栏,很全)

在COM组件的使用和开发过程中经常需要获取有关组件的信息.而COM组件以二进制代码的形式发布,如果不借助特定的工具这些相关信息将难以被获取.通过访问类型库就可以查看COM组件的信息. 一.类型库的基础 ...

Zookeeper的安装和初步使用

1. Zookeeper集群角色 Zookeeper集群的角色:  Leader 和  follower  (Observer) zk集群最好配成奇数个节点 只要集群中有半数以上节点存活,集群就能提供 ...

解决idea中 mvn项目导了包找不到包的问题

----------------------------------------分割线--------------------------------------------------------- ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值