1.enumerate()函数
使用enumerate()函数可以同时对迭代对象的索引和子项遍历。
nameList = ['Donn', 'Shirley', 'Ben', 'Janice','David', 'Yen', 'Wendy']
for i, eachLee in enumerate(nameList):
print("%d %s Lee" % (i+1, eachLee))
运行结果:
1 Donn Lee
2 Shirley Lee
3 Ben Lee
4 Janice Lee
5 David Lee
6 Yen Lee
7 Wendy Lee
2.sorted()
根据传入序列返回一个新的排好序的列表,
用法:
sorted(...)
sorted(iterable, key=None, reverse=False) --> new sorted list
#iterable 可迭代对象序列
#key指一个带有一个参数的函数,它用于从列表的每个元素中提取比较的关键字:如key=str.lower。默认值是None。
albums = ('Poe', 'Gaudi', 'Freud', 'Poe2')
for album in sorted(albums):
print(album,end=" ")
运行结果:
Freud Gaudi Poe Poe2
下面这个例子中展示了如何对自定义类型的列表应用 sorted函数
class Item:
def __init__(self,val):
self.value=val
def __str__(self):
return "value=%s"%(self.value)
def getValue(item):
return item.value
items = (Item(5), Item(32), Item(6), Item(1))
for item in sorted(items,key=getValue):
print(item,end=" ")
运行结果:
value=1 value=5 value=6 value=32
3.reversed()
返回一个反向迭代器,用于倒序遍历序列
albums = ('Poe', 'Gaudi', 'Freud', 'Poe2')
for album in reversed(albums):
print(album,end=" ")
运行结果:
Poe2 Freud Gaudi Poe
4.zip()
创建一个可迭代器,聚合来自每个迭代器的元素。返回一个由元组构成的迭代器,其中第i个元组包含来自每一组参数序列或可迭代量的第i元素。当输入参数中的最短迭代器耗尽,迭代器停止。使用单个可迭代参数,它返回1元组的迭代器。没有参数,它返回一个空迭代器。
albums = ('Poe', 'Gaudi', 'Freud', 'Poe2',"Peter")
years = (1976, 1987, 1990, 2003)
for album in zip(albums,years):
print(album,end=" ")
运行结果:
('Poe', 1976) ('Gaudi', 1987) ('Freud', 1990) ('Poe2', 2003)