map函数
内置的函数 map 和 filter 是在列表(或类似的称为迭代的对象)上运行的非常有用的高阶函数。
函数 map 接受一个函数和一个迭代器作为参数,并返回一个新的迭代器,该函数应用于每个参数。
例如:
def add_five(x):
return x + 5
nums = [11, 22, 33, 44, 55]
result = list(map(add_five, nums))
print(result)
def add_five(x):
return x + 5
nums = [1,2, 3, 4, 5]
result = map(add_five, nums)
for i in result:
print(i)
结果为:6,7,8,9,10
result = list(map(add_five,nums))
print(result)
结果为:[6,7,8,9,10]
通过使用 lambda 语法,我们可以更容易地获得相同的结果。
nums = [11, 22, 33, 44, 55]
result = list(map(lambda x: x+5, nums))
print(result)
为了将结果转换成列表,我们使用了 LIST 函数。
filter函数
filter 函数通过删除与谓词(一个返回布尔值的函数)不匹配的项来过滤一个迭代。
语法:
filter(function, iterable)
function -- 判断函数。
iterable -- 可迭代对象
下面我们通过一个实例来说明:
nums = [11, 22, 33, 44, 55]
res = list(filter(lambda x: x%2==0, nums))
print(res)
结果:
[22, 44]
与 map 一样,如果要打印结果,必须将结果显式转换为列表。