亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中很常用的函數(shù)map()用法實(shí)例

 更新時(shí)間:2023年10月14日 14:35:27   作者:搗鼓Python  
這篇文章主要給大家介紹了關(guān)于Python中很常用的函數(shù)map()用法的相關(guān)資料,map()函數(shù)是Python的內(nèi)置函數(shù),會(huì)根據(jù)提供的函數(shù)參數(shù),對(duì)傳入的序列數(shù)據(jù)進(jìn)行映射,需要的朋友可以參考下

一、函數(shù)作用

map()函數(shù)是Python中的一個(gè)內(nèi)置函數(shù),它的功能是:將指定的函數(shù),依次作用于可迭代對(duì)象的每個(gè)元素,并返回一個(gè)迭代器對(duì)象。這個(gè)可迭代對(duì)象,可以是一個(gè)也可以是多個(gè)。

二、map()函數(shù)的語法

語法

map(function,iterable,...)

參數(shù)

function-我們指定的函數(shù)(或數(shù)據(jù)類型),可以是python內(nèi)置的,也可以是自定義的。

iterable-可迭代的對(duì)象,例如列表,元組,字符串等。

返回值

返回一個(gè)可迭代對(duì)象,一般搭配list()使用,輸出列表

三、map()函數(shù)實(shí)例

案例1

可迭代對(duì)象傳遞給map()函數(shù),然后map()函數(shù)將這個(gè)可迭代對(duì)象傳入自定義函數(shù)。

#自定義一個(gè)函數(shù)a,返回x*2的值
def a(x):
    return x*2

#定義列表
lis1=[1,3,5,7,9]

#對(duì)列表中的每個(gè)數(shù)運(yùn)用函數(shù)a,返回迭代器
lis1_a=map(a,lis1)

#輸出迭代器中的值
for num in lis1_a:
    print(num)
    
#輸出結(jié)果
'''
2
6
10
14
18
'''

案例分析

函數(shù)a()是我們自定義的一個(gè)有參函數(shù),list1是我們定義的一個(gè)列表,map()函數(shù)將列表中的每個(gè)值,按照函數(shù)a()進(jìn)行運(yùn)算,并返回一個(gè)迭代器lis1_a。此時(shí)lis1_a的數(shù)據(jù)類型是:<class 'map'>,我們運(yùn)用for循環(huán)遍歷輸出迭代器lis1_a的值。

案例2

可迭代對(duì)象傳遞給map()函數(shù),然后map()函數(shù)將這個(gè)可迭代對(duì)象進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。

#定義一個(gè)列表a
a = ['1','2','3']

#將列表中的每個(gè)字符串,轉(zhuǎn)換成浮點(diǎn)型,并返回迭代器
b = map(float,a)

#輸出迭代器中的值
for num in b:
    print(num)

#輸出結(jié)果
'''
1.0
2.0
3.0
'''

案例分析

float是我們要轉(zhuǎn)換的數(shù)據(jù)類型,列表a是我們定義的一個(gè)列表,map()函數(shù)將列表a中的值運(yùn)用float()函數(shù)進(jìn)行轉(zhuǎn)換,并返回一個(gè)迭代器b 。此時(shí)b的數(shù)據(jù)類型是:<class 'map'>,我們運(yùn)用for循環(huán)遍歷輸出迭代器b的值。

案例3

多個(gè)可迭代對(duì)象傳遞給map()函數(shù),然后map()函數(shù)將這2個(gè)迭代對(duì)象傳入自定義函數(shù)a()。注意:這個(gè)自定義函數(shù)a()的參數(shù)個(gè)數(shù),要與傳入的可迭代對(duì)象數(shù)量一致。

# 定義一個(gè)函數(shù)
# 該函數(shù)采用2參數(shù)
def a(x,y):

    return x * y

# 定義列表1
lis1 = [1, 3, 5, 7, 9]
# 定義列表2
lis2 = [2, 4, 6, 8, 10]

# 將兩個(gè)列表中的值,傳入函數(shù)a,并返回可迭代器
lis_a = map(a, lis1, lis2)

#輸出迭代器中的值
for num in lis_a:
    print(num)
    
#輸出結(jié)果
'''
2
12
30
56
90
'''

案例分析

函數(shù)a()是我們自定義的一個(gè)函數(shù),因?yàn)楹竺嬉獙?duì)傳入的2個(gè)可迭代對(duì)象進(jìn)行運(yùn)算。所以,函數(shù)a()必須有2個(gè)形參。lis1和lis2是我們定義的2個(gè)列表,map()函數(shù)將這2個(gè)列表中的中,分別傳入函數(shù)a()進(jìn)行運(yùn)算,返回一個(gè)迭代器lis_a。此時(shí)的lis_a的數(shù)據(jù)類型是:<class 'map'>,我們運(yùn)用for循環(huán)遍歷輸出迭代器lis_a的值。

四、運(yùn)行結(jié)果出現(xiàn):<map object at 0x000001809CD03400>報(bào)錯(cuò) 

在Python3中,運(yùn)用map()函數(shù),如果格式有誤,就會(huì)出現(xiàn)上面的報(bào)錯(cuò)結(jié)果。

案例

a = ['1','3','5']
b = map(int,a)
print(b)
print(type(b))

#輸出結(jié)果
'''
<map object at 0x0000025781BBB610>
<class 'map'>
'''

案例分析

列表a是我們定義的一個(gè)列表,map()函數(shù)將列表a中的值,抓轉(zhuǎn)成int,此時(shí)返回的是一個(gè)迭代器b,它是一個(gè)map對(duì)象。如果想得到列表對(duì)象,則還需要調(diào)用list()函數(shù),轉(zhuǎn)化為列表對(duì)象。

報(bào)錯(cuò)總結(jié):

  • Python2中map直接返回作用后的元素的列表 
  • Python3中map返回的則是一個(gè)map對(duì)象
  • 如果想得到列表對(duì)象,則還需要調(diào)用list轉(zhuǎn)化為列表對(duì)象
  • Python2中,map()函數(shù)的 function 可以為None,如map(iterable1,iterable2[,...[,iterable n),其作用類似于將iterable*中的對(duì)應(yīng)索引的值取出作為一個(gè)元組,最終返回一個(gè)包含多個(gè)元組的列表。而Python3中,map()函數(shù)如果不指定 function,則最終對(duì)返回的map對(duì)象轉(zhuǎn)換時(shí)就會(huì)拋"map() must have at least two arguments."。

補(bǔ)充:求兩個(gè)數(shù)列中對(duì)應(yīng)元素的和

有的人可能會(huì)說a是一個(gè)數(shù)列,b是另一個(gè)數(shù)列,求兩個(gè)數(shù)列的和那還不簡單,直接a+b不就好了。那我們來做個(gè)小實(shí)驗(yàn),看看python中兩個(gè)數(shù)列直接用+加起來會(huì)得到什么,代碼如下:

?a = [2, 6, 3]
b = [3, 4, 5]
a + b

得到結(jié)果:

[2, 6, 3, 3, 4, 5]

可以發(fā)現(xiàn)python中兩個(gè)數(shù)列求+,直接將兩個(gè)數(shù)列拼接后返回。聰明的你想到用map函數(shù)怎么操作了嗎?具體代碼如下:

?a = [2, 6, 3]
b = [3, 4, 5]
list(map(lambda a,b:a+b, a, b))

得到結(jié)果:

[5, 10, 8]

人工加一下可以發(fā)現(xiàn)答案是對(duì)的。

總結(jié) 

到此這篇關(guān)于Python中很常用的函數(shù)map()用法的文章就介紹到這了,更多相關(guān)Python中函數(shù)map()用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django批量向admin注冊(cè)模型方法詳解

    Django批量向admin注冊(cè)模型方法詳解

    這篇文章主要為大家介紹了Django批量向admin注冊(cè)模型方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • python讀取nc數(shù)據(jù)并繪圖的方法實(shí)例

    python讀取nc數(shù)據(jù)并繪圖的方法實(shí)例

    最近項(xiàng)目中需要處理和分析NC數(shù)據(jù),所以下面這篇文章主要給大家介紹了關(guān)于python讀取nc數(shù)據(jù)并繪圖的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • python實(shí)現(xiàn)簡單ftp客戶端的方法

    python實(shí)現(xiàn)簡單ftp客戶端的方法

    這篇文章主要介紹了python實(shí)現(xiàn)簡單ftp客戶端的方法,涉及ftplib模塊的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • 利用Python實(shí)現(xiàn)Windows定時(shí)關(guān)機(jī)功能

    利用Python實(shí)現(xiàn)Windows定時(shí)關(guān)機(jī)功能

    是最初的幾個(gè)爬蟲,讓我認(rèn)識(shí)了Python這個(gè)新朋友,雖然才剛認(rèn)識(shí)了幾天,但感覺有種莫名的默契感。下面通過這篇文章給大家介紹Python實(shí)現(xiàn)Windows定時(shí)關(guān)機(jī)功能,需要的朋友可以參考下
    2017-03-03
  • 使用keras和tensorflow保存為可部署的pb格式

    使用keras和tensorflow保存為可部署的pb格式

    這篇文章主要介紹了使用keras和tensorflow保存為可部署的pb格式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python?程序通過可執(zhí)行文件部署方式

    Python?程序通過可執(zhí)行文件部署方式

    這篇文章主要介紹了Python?程序通過可執(zhí)行文件部署方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • Python機(jī)器學(xué)習(xí)應(yīng)用之基于線性判別模型的分類篇詳解

    Python機(jī)器學(xué)習(xí)應(yīng)用之基于線性判別模型的分類篇詳解

    線性判別分析(Linear?Discriminant?Analysis,?LDA)是一種監(jiān)督學(xué)習(xí)的降維方法,也就是說數(shù)據(jù)集的每個(gè)樣本是有類別輸出。和之前介紹的機(jī)器學(xué)習(xí)降維之主成分分析(PCA)方法不同,PCA是不考慮樣本類別輸出的無監(jiān)督學(xué)習(xí)方法
    2022-01-01
  • tensorflow實(shí)現(xiàn)邏輯回歸模型

    tensorflow實(shí)現(xiàn)邏輯回歸模型

    這篇文章主要為大家詳細(xì)介紹了tensorflow實(shí)現(xiàn)邏輯回歸模型的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • python遍歷文件目錄、批量處理同類文件

    python遍歷文件目錄、批量處理同類文件

    這篇文章主要為大家詳細(xì)介紹了python遍歷文件目錄、批量處理同類文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Keras預(yù)訓(xùn)練的ImageNet模型實(shí)現(xiàn)分類操作

    Keras預(yù)訓(xùn)練的ImageNet模型實(shí)現(xiàn)分類操作

    這篇文章主要介紹了Keras預(yù)訓(xùn)練的ImageNet模型實(shí)現(xiàn)分類操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評(píng)論