测开之路八十三:高级函数: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)

原文地址:https://www.cnblogs.com/zhongyehai/p/11374447.html