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}]
# 按height排序 reverse=True 反向
resultSorted = sorted(students, key=lambda x: x['height'], reverse=True)
print('resultSorted: {}'.format(list(resultSorted)))

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

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

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

# 每个age元素都+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': 19, 'height': 186}
resultMin:{'name': '李四', 'age': 17, 'height': 178}
resultFilter: [
  {'name': '张三', 'age': 18, 'height': 188},
  {'name': '王五', 'age': 19, 'height': 186}]

resultMap: [20, 19, 21]

resultReduce: 45
'''
posted @ 2020-01-20 14:42  仙界架构师  阅读(247)  评论(0编辑  收藏  举报