最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python高階函數(shù)map()?簡(jiǎn)介和使用詳解

 更新時(shí)間:2023年03月03日 09:26:34   作者:Python歐尼醬  
map()?函數(shù)是Python中的內(nèi)置函數(shù),這個(gè)函數(shù)又叫做映射函數(shù),其實(shí)里面具有一個(gè)迭代器的功能,會(huì)依次遍歷可迭代對(duì)象進(jìn)行相關(guān)的操作,這篇文章主要介紹了Python高階函數(shù)map()?簡(jiǎn)介和使用詳解,需要的朋友可以參考下

簡(jiǎn)介:

格式:

map(function,iterable,……)

參數(shù)說(shuō)明:

function:是表示函數(shù)功能

iterable:是表示可迭代對(duì)象 ,后面可以跟一個(gè)或者多個(gè)可迭代對(duì)象

功能:這個(gè)函數(shù)可以實(shí)現(xiàn)把可迭代對(duì)象中的每個(gè)數(shù)據(jù)依次帶入功能函數(shù)(function)中

返回值:注意map() 函數(shù)并不會(huì)改變?cè)瓉?lái)的數(shù)據(jù),而是生成一個(gè)新的map對(duì)象(本質(zhì)是一個(gè)迭代器),map對(duì)象第一個(gè)參數(shù)是作用功能,第二個(gè)是被功能函數(shù)作用可迭代對(duì)象,當(dāng)我們?nèi)ネㄟ^(guò)列表(list)進(jìn)行強(qiáng)制轉(zhuǎn)換會(huì)觸發(fā)函數(shù)的作用。

其他信息:這個(gè)函數(shù)在Python2的返回值是直接返回list類型,而在Python3是返回一個(gè)map類型,但是map類型要去通過(guò)list() 轉(zhuǎn)換才可以輸出結(jié)果

 map() 函數(shù)是Python中的內(nèi)置函數(shù),這個(gè)函數(shù)又叫做映射函數(shù),其實(shí)里面具有一個(gè)迭代器的功能,會(huì)依次遍歷可迭代對(duì)象進(jìn)行相關(guān)的操作。

help(map) 查看這個(gè)函數(shù)的相關(guān)信息 

示例:

示例(1):輸出map()函數(shù)返回值(迭代器)結(jié)果

def fun(n):
    return n**2
if __name__=='__main__': #判斷是不是執(zhí)行文件
    li=[x for x in range(1,12)]
    re=map(fun,li)
    print(type(re))
    print(list(re))
    print(tuple(re))
#輸出結(jié)果:<class 'map'>
#         [1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121]
#         ()

 這里可以看出,re是一個(gè)map類型,當(dāng)我們用list去轉(zhuǎn)換re的類型,可以看到輸出結(jié)果,但是如果我們用tuple去轉(zhuǎn)換類型卻輸出不了結(jié)果,所以map類型只能通過(guò)列表類型去轉(zhuǎn)換輸出結(jié)果。

def fun(n):
    return n**2
if __name__=='__main__':
    li=[x for x in range(1,12)]
    re=map(fun,li)
    for i in re:
        print(i,end=' ')
#輸出結(jié)果:1 4 9 16 25 36 49 64 81 100 121 

這里可以看出,map的返回值是一個(gè)迭代器,我們可以去通過(guò)循環(huán)依次輸出結(jié)果,在輸出的時(shí)候會(huì)觸發(fā)fun() 函數(shù)的作用,fun() 函數(shù)會(huì)依次作用給每一個(gè)迭代對(duì)象,然后輸出

示例(2):與循環(huán)對(duì)比

那這里就有人會(huì)問(wèn)了,為什么不用循環(huán)去實(shí)現(xiàn)這種功能呢?循環(huán)不也可以嗎?當(dāng)然可以,只是效率沒(méi)有map() 函數(shù)高,而且沒(méi)有用map() 這么秀~

def fun(n):
    return n**2
if __name__=='__main__':
    li=[x for x in range(1,12)]
    re=[]
    for i in li:
        num=fun(i)
        re.append(num)
    print(re)
#輸出結(jié)果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121]

示例(3):字符串轉(zhuǎn)列表

if __name__=='__main__':
    str1='123456'
    result=map(int,str1)
    print(list(result))
#輸出結(jié)果:[1, 2, 3, 4, 5, 6]

示例(4):元組轉(zhuǎn)列表

if __name__=='__main__':
    tu=(x for x in range(1,11))
    result=map(str,tu)
    print(list(result))
#輸出結(jié)果:['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

示例(5):提取字典的鍵key,通過(guò)函數(shù)作用放入到列表當(dāng)中

def fun(n):
    return n*2
if __name__=='__main__':
    d={1:'good',2:'nice',3:'wao',4:'bless'}
    result=map(fun,d)
    print(list(result))
#輸出結(jié)果:[2, 4, 6, 8]

示例(6):與lambda函數(shù)結(jié)合

1.

if __name__=='__main__':
    li=[x for x in range(-7,8) if x%2==0]
    result=map(lambda y:y**2+y,li)
    print(list(result))
#輸出結(jié)果:[30, 12, 2, 0, 6, 20, 42]

2.多個(gè)可迭代對(duì)象

if __name__=='__main__':
    li=[1,3,5,7]
    lil=[2,4,6,8]
    result=map(lambda x,y:x+y,li,lil)
    print(list(result))
#輸出結(jié)果:[3, 7, 11, 15]
if __name__=='__main__':
    li=[1,3,5,7]
    lil=[2,4,6]
    result=map(lambda x,y:x+y,li,lil)
    print(list(result))
#輸出結(jié)果:[3, 7, 11]

這里說(shuō)明一下:如果是對(duì)兩個(gè)或者兩個(gè)以上可迭代對(duì)象進(jìn)行處理的話,是根據(jù)序列的下標(biāo)一一對(duì)應(yīng)處理,比如上面的例子,是按照1+2,3+4,5+6,7+8依次輸出結(jié)果,但是第二個(gè)例子沒(méi)有8,故無(wú)法對(duì)下標(biāo)為 3 的位置進(jìn)行處理,所以輸出結(jié)果只有三個(gè)。

3.多個(gè)可迭代對(duì)象返回元組形式

if __name__=='__main__':
    li=[1,2,3,4]
    lil=[5,6,7,8]
    result=map(lambda x,y:(y,x),li,lil)
    print(list(result))
#輸出結(jié)果:[(5, 1), (6, 2), (7, 3), (8, 4)]

4.元組與列表共同作用

if __name__=='__main__':
    li=[a for a in range(0,4)]
    tu=(b for b in range(4,8))
    result=map(lambda x,y:(x**2,y-5),li,tu)
    print(list(result))
#輸出結(jié)果:[(0, -1), (1, 0), (4, 1), (9, 2)]

這里可以看出,iterable……可以是列表或者元組,只要有下標(biāo)且對(duì)應(yīng)的都可以進(jìn)行參與運(yùn)算

示例(7):math函數(shù)作為function

import math
if __name__=='__main__':
    li=[a for a in range(-5,4)]
    result=map(lambda x:round(math.sin(x),2),li) #保留兩位小數(shù)
    print(list(result))
#輸出結(jié)果:[0.96, 0.76, -0.14, -0.91, -0.84, 0.0, 0.84, 0.91, 0.14]

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

相關(guān)文章

  • Python調(diào)用GPU算力的實(shí)現(xiàn)步驟

    Python調(diào)用GPU算力的實(shí)現(xiàn)步驟

    本文介紹了在Python中調(diào)用GPU算力的基本步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • Pytorch技巧:DataLoader的collate_fn參數(shù)使用詳解

    Pytorch技巧:DataLoader的collate_fn參數(shù)使用詳解

    今天小編就為大家分享一篇Pytorch技巧:DataLoader的collate_fn參數(shù)使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python 中制作偶數(shù)列表的方法

    Python 中制作偶數(shù)列表的方法

    這篇文章主要介紹了Python 中制作偶數(shù)列表的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • python利用itertools生成密碼字典并多線程撞庫(kù)破解rar密碼

    python利用itertools生成密碼字典并多線程撞庫(kù)破解rar密碼

    這篇文章主要介紹了python利用itertools生成密碼字典并多線程撞庫(kù)破解rar密碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 教你使用Sublime text3搭建Python開發(fā)環(huán)境及常用插件安裝另分享Sublime text3最新激活注冊(cè)碼

    教你使用Sublime text3搭建Python開發(fā)環(huán)境及常用插件安裝另分享Sublime text3最新激活注冊(cè)碼

    這篇文章主要介紹了使用Sublime text 3搭建Python開發(fā)環(huán)境及常用插件安裝,并提供了最新Sublime text 3激活注冊(cè)碼需要的朋友可以參考下
    2020-11-11
  • python爬蟲之利用Selenium+Requests爬取拉勾網(wǎng)

    python爬蟲之利用Selenium+Requests爬取拉勾網(wǎng)

    這篇文章主要介紹了python爬蟲之利用Selenium+Requests爬取拉勾網(wǎng),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python爬蟲的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • python實(shí)例小練習(xí)之Turtle繪制南方的雪花

    python實(shí)例小練習(xí)之Turtle繪制南方的雪花

    Turtle庫(kù)是Python語(yǔ)言中一個(gè)很流行的繪制圖像的函數(shù)庫(kù),想象一個(gè)小烏龜,在一個(gè)橫軸為x、縱軸為y的坐標(biāo)系原點(diǎn),(0,0)位置開始,它根據(jù)一組函數(shù)指令的控制,在這個(gè)平面坐標(biāo)系中移動(dòng),從而在它爬行的路徑上繪制了圖形
    2021-09-09
  • 基于python實(shí)現(xiàn)鼠標(biāo)實(shí)時(shí)坐標(biāo)監(jiān)測(cè)

    基于python實(shí)現(xiàn)鼠標(biāo)實(shí)時(shí)坐標(biāo)監(jiān)測(cè)

    這篇文章主要給大家介紹了如何基于python實(shí)現(xiàn)鼠標(biāo)實(shí)時(shí)坐標(biāo)監(jiān)測(cè),文章通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-11-11
  • Python+Pygame編寫一個(gè)Pong游戲

    Python+Pygame編寫一個(gè)Pong游戲

    Pong游戲模擬了兩個(gè)打乒乓球的人,就是在兩條線中間有一個(gè)點(diǎn)在動(dòng),操縱器就是一個(gè)搖桿上有一個(gè)按鈕的那種。本文就來(lái)用Python中的Pygame庫(kù)編寫一個(gè)Pong小游戲
    2023-01-01
  • pandas merge報(bào)錯(cuò)的解決方案

    pandas merge報(bào)錯(cuò)的解決方案

    這篇文章主要介紹了pandas merge報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04

最新評(píng)論

昂仁县| 嵊州市| 和平县| 蓬溪县| 太仆寺旗| 洪江市| 松阳县| 佛山市| 盐山县| 延吉市| 乐安县| 许昌县| 龙川县| 连江县| 曲阜市| 建湖县| 清苑县| 黔江区| 高密市| 巩留县| 中山市| 视频| 康定县| 周宁县| 丹凤县| 淳安县| 县级市| 英吉沙县| 铁岭县| 茂名市| 静乐县| 石首市| 尚义县| 漳浦县| 邵东县| 玛多县| 广平县| 集贤县| 无为县| 晋江市| 济南市|