1、filter函数
函数原型
filter(function, iterable)
函数说明
filter函数主要用于过滤掉可迭代对象中不符合条件的元素。如果要转换为列表,可以使用 list() 来转换。该函数接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
函数使用
>>> a = [1, 2, 3, 4, 5]
>>> b = filter(lambda x: x>=3, a)
>>> b
<filter object at 0x000001D44C3BE700>
>>> list(b)
[3, 4, 5]
>>> c = filter(lambda x: x % 2 == 0, a)
>>> c
<filter object at 0x000001D44C3D93A0>
>>> list(c)
[2, 4]
>>> d = filter(lambda x: pow(x, 2) > 2 * x, a)
>>> d
<filter object at 0x000001D44C3D9C70>
>>> list(d)
[3, 4, 5]
2、map函数
函数原型
map(function, iterable, ...)
函数说明
map函数用于根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
函数使用
>>> a = [1, 2, 3, 4, 5]
>>> b = map(lambda x: x + 1, a)
>>> b
<map object at 0x000001D44C3D90D0>
>>> list(b)
[2, 3, 4, 5, 6]
>>> c = map(lambda x: range(x), a)
>>> c
<map object at 0x000001D44C352EE0>
>>> list(c)
[range(0, 1), range(0, 2), range(0, 3), range(0, 4), range(0, 5)]
>>> d = map(lambda x: eval(str(2 * x)), a)
>>> d
<map object at 0x000001D44C3D9070>
>>> list(d)
[2, 4, 6, 8, 10]