博主的话
大家好✨,这里是bio🦖。先赞后看养成习惯,还没关注的小伙伴点点关注不迷路。今天介绍处理数据的三大基本函数。
一、过滤操作 filter()
filter()函数对可迭代对象的元素进行过滤。
语法:filter(function, iterable)
其中参数’function’是一个函数,参数’iterable’是可迭代对象。将iterable遍历逐一传入function函数,而后函数返回布尔值。返回值为True的元素被保存,为False的元素被过滤。
For example:
users = ['Tony', 'Ben', 'Alex', 'Tom', 'Bob']
users_filter = filter(lambda u: u.startswith('T'), users)
print(list(users_filter))
Result:
['Tony', 'Tom']
再举一个例子加强理解:
number_list = range(1, 11)
number_filter = filter(lambda i: i % 2 == 0, number_list)
print(list(number_filter))
结果是获得1~10中的偶数
[2, 4, 6, 8, 10]
二、映射操作 map()
map()函数可对可迭代对象的元素进行变换。
语法:map(function, iterable)
与上诉filter()相似,差别是将iterable遍历逐一传入function函数后,在function函数中进行替换
例如:
users = ['Tony', 'Ben', 'Alex', 'Tom', 'Bob']
users_map = map(lambda i: i.lower(), users)
print(list(users_map))
结果:
['tony', 'ben', 'alex', 'tom', 'bob']
如果需要对特定字母开头进行映射操作,可以和filter()函数连用。
users = ['Tony', 'Ben', 'Alex', 'Tom', 'Bob']
users_filter = filter(lambda i: i.startswith('T'), users)
users_map = map(lambda u: u.lower(), users_filter)
print(list(users_map))
结果得到以T开头的名字小写:
['tony', 'tom']
三、聚合操作 reduce()
reduce()函数会将多个数据按照指定的算法积累叠加,输出最后一个数据。
语法:reduce(function, iterable[, initializer])
function ---- 聚合操作函数
iterable ---- 可迭代对象
initializer ---- 初始值
举例:
from functools import reduce
a = (1, 2, 3, 4, 5)
a_reduce = reduce(lambda acc, i: acc + i, a)
print(a_reduce)
15
总结
以上就是今天要讲的内容,本文仅仅简单介绍了filter(),map(),reduce()的使用,有疑问可以留言交流哦。看到这里就点点赞,点点关注吧!球球啦!