map(def/lambda,sequence):
对传入可迭代对象中的每个元素,依次代入到传入函数中执行
返回结果:迭代器(可用list()、tuple等转换)
print(list(map(lambda n:n+1,[1,2,3])))
# [2, 3, 4]
reduce(def/lambda,sequence):
每次从可迭代对象中抽取两个元素进行处理,本次得出一个结果
多次处理后最后得到一个结果
传入函数要求:需处理两个形参
from functools import reduce
print(reduce(lambda a,b:a+b,[1,2,3]))
# 6
filter(def/lambda,sequence):
从sequence中筛选符合lambda条件的结果
返回结果:迭代器
print(list(filter(lambda x:x>2,[1,2,3,4])))
# [3, 4]
sorted(iterable,key=None,reverse=False)
key:基于可迭代对象中某一个元素进行排序,可传入函数或lambda进行规则定义(可多重排序)
reverse:False为升序,True为降序
print(dict(sorted({'tom':20,'jerry':32,'lisa':23}.items(),key=lambda i:i[1],reverse=True)))
# {'jerry': 32, 'lisa': 23, 'tom': 20}
print(sorted([[2,3],[3,4],[3,3],[2,5],[3,5]],key=lambda i:(i[0],i[1])))# 多重排序
# [[2, 3], [2, 5], [3, 3], [3, 4], [3, 5]]