# 匿名函数 lambda a,b : a+b
# a.j.
from functools import reduce

students = [{'name': '张三', 'age': 18, 'height': 188},
{'name': '李四', 'age': 17, 'height': 178},
{'name': '王五', 'age': 19, 'height': 186}]
# 排序 reverse=True 反向
resultSorted = sorted(students, key=lambda x: x['height'], reverse=True)
print('resultSorted: {}'.format(list(resultSorted)))

# 最大
resultMax = max(students, key=lambda x: x['age'])
print('resultMax: {}'.format(list(resultMax)))

# 最小
resultMin = min(students, key=lambda x: x['height'])
print('resultMin: {}'.format(list(resultMin)))

# 筛选age大于17的字典
resultFilter = filter(lambda x: x['age'] > 17, students)
print('resultFilter: {}'.format(list(resultFilter)))

# 每个元素都+2
resultMap = map(lambda x: x['age'] + 2, students)
print('resultMap: {}'.format(list(resultMap)))

# 求和
tupleReduce = (1, 2, 3, 4, 5, 6, 7, 8, 9)
resultReduce = reduce(lambda a, b: a + b, tupleReduce)
print('resultReduce: {}'.format(resultReduce))

# 各个结果
'''
resultSorted: [{'name': '张三', 'age': 18, 'height': 188}, {'name': '王五', 'age': 19, 'height': 186}, {'name': '李四', 'age': 17, 'height': 178}]
resultMax: ['name', 'age', 'height']
resultMin: ['name', 'age', 'height']
resultFilter: [{'name': '张三', 'age': 18, 'height': 188}, {'name': '王五', 'age': 19, 'height': 186}]
resultMap: [20, 19, 21]
resultReduce: 45
'''
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄