如果我們想減少大量代碼的使用,避開頻繁使用循環(huán)語句是一種方法,但也不是沒有別的辦法可以選擇的。小編先給大家一點(diǎn)提示,往函數(shù)方面考慮。沒錯(cuò),我們有專門的函數(shù)可以把列表中的數(shù)據(jù)進(jìn)行細(xì)化,這里用到了映射的思想,所以最終map函數(shù)的代碼都是很簡短的。下面我們就map在列表中的使用給大家展開講解。
map()方法會將一個(gè)函數(shù)映射到序列的每一個(gè)元素上,生成新序列,包含所有函數(shù)返回值。
也就是說序列里每一個(gè)元素都被當(dāng)做x變量,放到一個(gè)函數(shù)f(x)里,其結(jié)果是f(x1)、f(x2)、f(x3)......組成的新序列。
通俗的講就是:map()它接收一個(gè)函數(shù) f 和一個(gè) 可迭代對象(這里理解成 list),并通過把函數(shù) f 依次作用在 list 的每個(gè)元素上,得到一個(gè)新的 list 并返回。
map() 函數(shù)語法:
參數(shù):function -- 函數(shù)、iterable -- 一個(gè)或多個(gè)序列
下面實(shí)例展示map( )用法:
1
2
3
def square(x) : # 計(jì)算平方數(shù)
return x ** 2
map(square, [1,2,3,4,5]) # 計(jì)算列表各個(gè)元素的平方
結(jié)果返回:[1, 4, 9, 16, 25]
1
map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函數(shù)
結(jié)果:[1, 4, 9, 16, 25]
1
2
# 提供了兩個(gè)列表,對相同位置的列表數(shù)據(jù)進(jìn)行相加
map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
結(jié)果:[3, 7, 11, 15, 19]
在使用map函數(shù)前,最先需要理解的就是其中用到的映射過程,關(guān)于映射這點(diǎn)在數(shù)學(xué)中都有講過,如果沒學(xué)會的可以看看我們上面的映射分析圖片,今天關(guān)于map對列表代碼進(jìn)行簡化的方法到這里就結(jié)束啦。
如今python編程語言市場需求大,薪資待遇上萬盡在咫尺!如果你也想學(xué)習(xí)python技術(shù)可以填寫下面表單,Python學(xué)習(xí)資料限時(shí)免費(fèi)領(lǐng)取!
初級會計(jì)職稱中級會計(jì)職稱經(jīng)濟(jì)師注冊會計(jì)師證券從業(yè)銀行從業(yè)會計(jì)實(shí)操統(tǒng)計(jì)師審計(jì)師高級會計(jì)師基金從業(yè)資格稅務(wù)師資產(chǎn)評估師國際內(nèi)審師ACCA/CAT價(jià)格鑒證師統(tǒng)計(jì)資格從業(yè)
一級建造師二級建造師消防工程師造價(jià)工程師土建職稱房地產(chǎn)經(jīng)紀(jì)人公路檢測工程師建筑八大員注冊建筑師二級造價(jià)師監(jiān)理工程師咨詢工程師房地產(chǎn)估價(jià)師 城鄉(xiāng)規(guī)劃師結(jié)構(gòu)工程師巖土工程師安全工程師設(shè)備監(jiān)理師環(huán)境影響評價(jià)土地登記代理公路造價(jià)師公路監(jiān)理師化工工程師暖通工程師給排水工程師計(jì)量工程師
人力資源考試教師資格考試出版專業(yè)資格健康管理師導(dǎo)游考試社會工作者司法考試職稱計(jì)算機(jī)營養(yǎng)師心理咨詢師育嬰師事業(yè)單位教師招聘公務(wù)員公選考試招警考試選調(diào)生村官
執(zhí)業(yè)藥師執(zhí)業(yè)醫(yī)師衛(wèi)生資格考試衛(wèi)生高級職稱護(hù)士資格證初級護(hù)師主管護(hù)師住院醫(yī)師臨床執(zhí)業(yè)醫(yī)師臨床助理醫(yī)師中醫(yī)執(zhí)業(yè)醫(yī)師中醫(yī)助理醫(yī)師中西醫(yī)醫(yī)師中西醫(yī)助理口腔執(zhí)業(yè)醫(yī)師口腔助理醫(yī)師公共衛(wèi)生醫(yī)師公衛(wèi)助理醫(yī)師實(shí)踐技能內(nèi)科主治醫(yī)師外科主治醫(yī)師中醫(yī)內(nèi)科主治兒科主治醫(yī)師婦產(chǎn)科醫(yī)師西藥士/師中藥士/師臨床檢驗(yàn)技師臨床醫(yī)學(xué)理論中醫(yī)理論