python教程_小白入门2020/10/5
学习目标
P125 filiter&map&reduce方法
from functools import reduce # 导入模块的语法
# filter-过滤(使用的最多) map-执行一定的操作 reduce
# author by Zhang_jiongjiong
# filter过滤的意思
# python2里是内置函数,python3里是内置类
# 对可迭代对象进行过滤,得到一个filter对象
# filter 可以给定两个参数,第一个参数是函数,第二个参数是可迭代对象
ages = [12, 23, 30, 17, 16, 22, 19]
# ele所代表的是一个元素,元素的指标是要大于18
x = filter(lambda ele: ele > 18, ages)
print(x) # <filter object at 0x000001F579E1BBC8>,filter类型的对象 # filter对象也是 一个可迭代对象
# for a in x:
# print(a)
# 23
# 30
# 22
# 19
adult = list(x)
print(adult) # [23, 30, 22, 19]
# ---------------------------------------------------------
# map的使用
ages1 = [12, 23, 30, 17, 16, 22, 19]
m = map(lambda ele: ele + 2, ages1)
print(list(m))
# [14, 25, 32, 19, 18, 24, 21]
# -------------------------------------------------------------
# reduce 的使用
# reduce以前是一个内置函数,
# 内置函数和内置类都在 builtin.py文件里,后来给放到了一个模块中
scores = [100, 89, 76, 87]
scores1 = [100, 89, 76, 87]
ss = reduce(lambda ele1, ele2: ele1 + ele2, scores)
# 作用类似于 (((1+2)+3)+4)+5
print(ss) # 352