20.Python的其他场景的迭代工具
2020-07-24 本文已影响0人
赵明嗯
昨天介绍了zip和enumerate两个用于迭代的函数。zip实现并行迭代,用于同是迭代两个序列的场景。enumerate用于迭代序列时同时获取索引和值得场景。今天介绍的两个函数reversed用于反向迭代场景,sorted用于排序后再迭代的场景。
>>> b=sorted([8,3,5,2,9])
>>> b
[2, 3, 5, 8, 9]
>>> for a in b:
print(a)
2
3
5
8
9
sorted返回原来序列排序之后的与原来序列不同的副本序列,不改变原来列表。而sort对原列表就地排序,会改变原列表
>>> a=[8,3,5,2,9]
>>> b=sorted(a)
>>> b
[2, 3, 5, 8, 9]
>>> a
[8, 3, 5, 2, 9]
>>> a.sort()
>>> a
[2, 3, 5, 8, 9]
reversed对序列进行反向,返回一个与zip类似的可迭代对象,需要list函数转换成列表才能以列表显示出来。
>>> b=list(reversed(a))
>>> b
[9, 8, 5, 3, 2]
由于是可迭代对象,所以可直接用在for循环中。
>>> for x in reversed(a):
print(x)
9
8
5
3
2