第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【面試趣談】python的map和 filter

標(biāo)簽:
Python

​# map() 和 filter()

Python 内置有两个非常好用的高阶函数 map()filter()

filter() 用于从可迭代对象中筛选元素。用法如下:


filter(筛选函数, 可迭代对象)

filter() 依次对 可迭代对象 中的每个元素调用 筛选函数,如果返回值为 True,则当前这个元素会被保留,否则被排除。最终返回一个包含所有被保留元素的迭代器。

显然这里的 筛选函数 可以用 lambda 表达式来创建。

例如,从 ['a', 'b', 'cd', 'efg', 'hig', 'klmn', 'opqr'] 筛选出长度为奇数的字符串。可以这样写:


filter(lambda x: len(x) % 2 == 1, ['a', 'b', 'cd', 'efg', 'hig', 'klmn', 'opqr'])


>>> list(filter(lambda x: len(x) % 2 == 1, [‘a’, ‘b’, ‘cd’, ‘efg’, ‘hig’, ‘klmn’, ‘opqr’]))

[‘a’, ‘b’, ‘efg’, ‘hig’]

这里我们用 list() 将迭代器转换为列表。

map() 用于对可迭代对象中每一个元素逐一作处理。用法如下:


map(处理函数, 可迭代对象)

map()依次对可迭代对象中的每个元素调用处理函数,最终返回一个包含所有被处理过后的元素的迭代器。

显然这里的处理函数也可以用 lambda 表达式来创建。

例如,将['a', 'b', 'cd', 'efg', 'hig', 'klmn', 'opqr']全部转换为大写。可以这样来写:


map(lambda x: x.upper(), ['a', 'b', 'cd', 'efg', 'hig', 'klmn', 'opqr'])


>>> list(map(lambda x: x.upper(), [‘a’, ‘b’, ‘cd’, ‘efg’, ‘hig’, ‘klmn’, ‘opqr’]))

[‘A’, ‘B’, ‘CD’, ‘EFG’, ‘HIG’, ‘KLMN’, ‘OPQR’]

这里我们用 list() 将迭代器转换为列表

总结

map(function,iterable)函数接收两个参数,1、一个函数名,注意不带括号。带括号就变成调用函数了。2、一个或多个序列。序列中的每一个元素被函数作用后的值,返回一个迭代器。可以使用list()将其转换为列表

两个函数的参数是一样的,但是filter有过滤器作用,map对每一个元素进行函数运算。

filter(function,iterable)同样是两个参数,和上面一样。不同的是,序列里每个元素被函数作用后,返回真、假值,对应结果为真的序列元素值将被选出来,最终生成一个迭代器;并且,第一个参数可以是None,如果第一个参数是None,则将第二个参数序列中布尔值为True的元素给筛选出来。

两个函数的参数是一样的,但是filter有过滤器作用,map对每一个元素进行函数运算。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消