与序列相关的几个内建函数

来源:互联网 发布:数据二级有效性使用 编辑:程序博客网 时间:2024/06/16 05:46

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 Lee2 Shirley Lee3 Ben Lee4 Janice Lee5 David Lee6 Yen Lee7 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.valueitems = (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)
原创粉丝点击