今天就跟大家聊聊有關(guān)python中如何使用map()函數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
10年的海豐網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整海豐建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“海豐網(wǎng)站設(shè)計(jì)”,“海豐網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
map() 會(huì)根據(jù)提供的函數(shù)對(duì)指定序列做映射。第一個(gè)參數(shù) function 以參數(shù)序列中的每一個(gè)元素調(diào)用 function 函數(shù),返回包含每次 function 函數(shù)返回值的新列表。
map() 函數(shù)語(yǔ)法:map(function, iterable, ...)
function -- 函數(shù) iterable -- 一個(gè)或多個(gè)序列
Python 2.x 返回列表。Python 3.x 返回迭代器。
以下實(shí)例展示了 map() 的使用方法:
>>>def square(x) : # 計(jì)算平方數(shù)
... return x ** 2
>>> map(square, [1,2,3,4,5]) # 計(jì)算列表各個(gè)元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函數(shù)
[1, 4, 9, 16, 25]
# 提供了兩個(gè)列表,對(duì)相同位置的列表數(shù)據(jù)進(jìn)行相加
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]
假設(shè)我們拿到下面的一份CSV數(shù)據(jù):
序號(hào) | 城市 |
---|---|
1 | 中國(guó)上海 |
2 | 中國(guó)北京 |
3 | 澳大利亞 |
4 | 美國(guó) |
我們目的是將中國(guó)的國(guó)家和城市提取出來(lái)分成兩列,然后外國(guó)的國(guó)家和城市不變。怎么實(shí)現(xiàn)呢?這就用到我們剛剛將的map()函數(shù)啦,將城市列作用于我們定義的函數(shù),一起來(lái)看看怎么實(shí)現(xiàn)?
# 城市: 提取國(guó)家和城市
def transform_country(x):
if '中國(guó)' in x:
return '中國(guó)'
else:
return x
def transform_city(x):
if '中國(guó)' in x:
return x[2:]
else:
return x
df['國(guó)家'] = df.城市.map(lambda x: transform_country(x))
df['城市'] = df.城市.map(lambda x: transform_city(x))
最后的目標(biāo)結(jié)果變成這樣:
序號(hào) | 國(guó)家 | 城市 |
---|---|---|
1 | 中國(guó) | 上海 |
2 | 中國(guó) | 北京 |
3 | 澳大利亞 | 澳大利亞 |
4 | 美國(guó) | 美國(guó) |
看完上述內(nèi)容,你們對(duì)python中如何使用map()函數(shù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。