sorted

sorted()函数对所有可迭代对象进行操作,返回的是一个新列表;列表的list方法只对列表有效,且不生成新的列表。

# 对成绩升序排列,名字降序排列
d1 = [{'name':'alice', 'score':38}, {'name':'bob', 'score':18}, {'name':'darl', 'score':28}, {'name':'christ', 'score':28}]
l = sorted(d1, key=lambda x:(-x['score'], x['name']),reverse=True)
print(l)

enumerate()函数

此函数将一个迭代的数据对象(如列表、元组或字符串)组合成一个索引序列,同时列出数据和数据下标,一般用在for循环中

>>> seasons = ['spring', 'summer', 'fall', 'winter']
>>> list(enumerate(seasons))
[(0,'spring'), (1,'summer'), (2,'fall'), (3,'winter')] # 这是一个元组列表
>>> list(enumerate(seasons,start=1))
[(1,'spring'), (2,'summer'), (3,'fall'), (4,'winter')] # 下标从1开始的元组列表 

# for循环
>>> seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
        print i, element
0 one
1 two
2 three

zip() 函数

用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,返回由这些元组组成的列表。

>>>a = [1,2,3]
>>>b = [4,5,6]
>>>zip = zip(a,b)
[(1,4),(2,5),(3,6)]

Lambda 函数

lambda 是为了减少单行函数的定义而存在的

# 左边是输入,右边是输出
>>>g = lambda x:x+1
>>>g(1)
2