python---序列可使用的内建函数(BIFs)
python序列可使用的内建函数
- enumerate(iter)
接受一个可迭代对象为为参数,返回一个enumerate(遍历)对象。
#!/usr/bin/env python #-_- coding: utf-8 -_-
#enumerate(iter)函数返回由index(索引)和item值组成的元祖,元祖数量由iter可迭代对象的元素决定。
def Enumerate(name):
for Index, Name in enumerate(name):
print("%d %s" %(Index, Name))
name = ['John', 'Jimmy', 'Tom', 'Kate']
Enumerate(name)
- len(seq) 返回seq的长度
-
max(iter)
max(arg0,arg1, ... key=None)
-
min(iter)
min(arg0,arg1, ... key=None)
-
reversed(seq)
接受一个序列作为参数,返回一个以逆序访问的迭代器。
-
sorted(iter,func=None,key=None,reverse=False)
接受一个可迭代对象作为参数,返回一个有序的列表;可选参数func,key 和reverse 的含义跟list.sort()内建函数的参数含义一样。
>>> a = ['10', '23', '19', '35']
>>> a.sort(key=int, reverse=True)
>>> a
['35', '23', '19', '10']
-----------------------
key=lambda x:x[1] lambda作为参数传给key,x:x[1] 以第二个数值作为排序的值。
>>> a = [('a', 97), ('c', 99), ('b', 98)]
>>> a.sort(key=lambda x:x[1], reverse=True)
>>> a
[('c', 99), ('b', 98), ('a', 97)]
-----------------------
导入模块operator,使用方法itemgetter,以第2和3个数值来进行比对排序。
>>> a = [(1,2,3), (3,4,5), (0,1,2)]
>>> import operator
>>> a.sort(key=operator.itemgetter(1,2))
>>> a
[(0, 1, 2), (1, 2, 3), (3, 4, 5)]
-
sum(seq, int=0)
返回seq 和可选参数init 的总和, 其效果等同于reduce(operator.add,seq,init)
-
zip([it0, it1, ... itN])
zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
Return a list of tuples, where each tuple contains the i-th element from each of the argument sequences. The returned list is truncated in length to the length of the shortest argument sequence.