python reversed()
作者:互联网
#reversed()函数是返回序列seq的反向访问的迭代器。参数可以是列表,元组,字符串,不改变原对象。 l=[1,2,3,4,5] l1=reversed(l) for i in l1: print(i,end='')#参数为列表,第一次查看有结果输出,以后则为空,没有内容 print(1111111111111) for i in l1: print(i) t=(4,5,6) tt=reversed(t) print(tuple(tt))#参数为元组,第一次查看有结果输出,以后则为空,没有内容 print(22222222222222) print(tuple(tt)) s="cba" ss=reversed(s) print(list(ss))#参数为字符串,第一次查看有结果输出,以后则为空,没有内容 print(333333333333333) print(list(ss)) s="1234" ss=reversed(s) print(''.join(ss))#参数为字符串,第一次查看有结果输出,以后则为空,没有内容 print(4444444444444444444) print(''.join(ss)) '''这是因为反向创建了一个迭代器,该迭代器在第二次调用列表(LL)时已经使用过了。 其原因就是ll不是反转列表本身,而是一个列表反向迭代器。所以当你第一次调用列表(ll), 它会遍历ll并且创建一个新的列表从项目输出迭代器。当你再进行一次,ll仍然是原来的迭代器, 已经经历了所有的项目,所以它不会再遍历什么,这就造成了空列表。 总结:reversed()之后,只在第一次遍历时返回值。'''
结果:
================ RESTART: D:/ADB/kuaidou0102/kuaidou1210/li2.py ================
543211111111111111
(6, 5, 4)
22222222222222
()
['a', 'b', 'c']
333333333333333
[]
4321
4444444444444444444
>>>
标签:迭代,python,reversed,列表,ss,print,ll 来源: https://www.cnblogs.com/xkdn/p/14224736.html