测开之路八十三:高级函数:map()和filter()

 

# map(函数名,可迭代对象)
# 给可迭代对象的每个值+5
l = list(range(1, 21))


def add_number(x):
    return x + 5


# 第一种方式
print([x + 5 for x in l])

# 第二种方式
print(list(map(add_number, l)))

# 第三种方式
print(list(map(lambda n: n + 5, l)))

 

# filter(函数名,可迭代对象)
# 找偶数
l = list(range(1, 11))


def even_number(x):
    return x % 2 == 0


# 第一种方式:
res = filter(even_number, l) # 返回filter对象
print(res)
for n in res:
    print(n, end=' ')

# 第二种方式:
res = filter(lambda n: n % 2 == 0, l) # 返回filter对象
print(res)
for n in res:
    print(n, end=' ')

# 第三种方式:
res = [x for x in l if x % 2 == 0]
print(res)

 

posted @ 2019-08-27 15:15  向前走。  阅读(163)  评论(0编辑  收藏  举报