python 学习笔记2 匿名函数
# 匿名函数 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
'''
更多精彩