欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中map的基本用法示例

 更新時(shí)間:2018年09月10日 11:06:37   作者:lincappu  
map函數(shù)的原型是map(function, iterable, …),它的返回結(jié)果是一個(gè)列表。下面這篇文章主要給大家介紹了關(guān)于python中map的基本用法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

map()函數(shù)

map() 會(huì)根據(jù)提供的函數(shù)對(duì)指定序列做映射,是內(nèi)置函數(shù)

第一個(gè)參數(shù) function 以參數(shù)序列中的每一個(gè)元素調(diào)用 function 函數(shù),返回包含每次 function 函數(shù)返回值的新列表。

語法

map(function, iterable, ...)

map()是 Python 內(nèi)置的高階函數(shù),它接收一個(gè)函數(shù) f 和一個(gè) list,并通過把函數(shù) f 依次作用在 list 的每個(gè)元素上,得到一個(gè)新的 list 并返回。

1、當(dāng)seq只有一個(gè)時(shí),將函數(shù)func作用于這個(gè)seq的每個(gè)元素上,并得到一個(gè)新的seq。

例如,對(duì)于list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每個(gè)元素都作平方,就可以用map()函數(shù):

因此,我們只需要傳入函數(shù)f(x)=x*x,就可以利用map()函數(shù)完成這個(gè)計(jì)算:

def f(x):
 return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

輸出結(jié)果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]

注意:map()函數(shù)不改變?cè)械?list,而是返回一個(gè)新的 list。

利用map()函數(shù),可以把一個(gè) list 轉(zhuǎn)換為另一個(gè) list,只需要傳入轉(zhuǎn)換函數(shù)。

由于list包含的元素可以是任何類型,因此,map() 不僅僅可以處理只包含數(shù)值的 list,事實(shí)上它可以處理包含任意類型的 list,只要傳入的函數(shù)f可以處理這種數(shù)據(jù)類型。

假設(shè)用戶輸入的英文名字不規(guī)范,沒有按照首字母大寫,后續(xù)字母小寫的規(guī)則,請(qǐng)利用map()函數(shù),把一個(gè)list(包含若干不規(guī)范的英文名字)變成一個(gè)包含規(guī)范英文名字的list:

輸入:['adam', 'LISA', 'barT']

輸出:['Adam', 'Lisa', 'Bart']

def format_name(s):
 s1=s[0:1].upper()+s[1:].lower();
 return s1;
print map(format_name, ['adam', 'LISA', 'barT'])

2、當(dāng)seq多于一個(gè)時(shí),map可以并行(注意是并行)地對(duì)每個(gè)seq執(zhí)行如下圖所示的過程:

l2=map(lambda x,y:x**y,[1,2,3],[1,2,3])
for i in l2:
 print(i)

l3=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2,3])
for i in l3:
 print(i)

python3中可以處理類表長度不一致的情況,但無法處理類型不一致的情況,
l4=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2])
for i in l4:
 print(i)

l4=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2,'a'])
for i in l4:
 print(i)

特殊用法,做類型轉(zhuǎn)換: 

l=map(int,'1234')
for i in l:
 print(type(i))
 print(i)

如果函數(shù)是 None,自動(dòng)假定一個(gè)‘identity'函數(shù),這時(shí)候就是模仿 zip()函數(shù),

l=[1,2,3]
x=map(None,l)
print(x)

這時(shí)候 None 類型不是一個(gè)可以調(diào)用的對(duì)象。所以他沒法返回值。

目的是將多個(gè)列表相同位置的元素歸并到一個(gè)元組。如:

>>> print map(None, [2,4,6],[3,2,1])
[(2, 3), (4, 2), (6, 1)]

但是在 python3中,返回是一個(gè)迭代器,所以它其實(shí)是不可調(diào)用的

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Python 中檢查一個(gè)字符是否為數(shù)字的示例代碼

    Python 中檢查一個(gè)字符是否為數(shù)字的示例代碼

    本文詳細(xì)介紹了在 Python 中檢查一個(gè)字符是否為數(shù)字的幾種常用方法。我們介紹了使用 isdigit() 方法、isnumeric() 方法和正則表達(dá)式等方法,并提供了示例代碼幫助你理解和應(yīng)用這些方法,需要的朋友可以參考下
    2023-06-06
  • python機(jī)器人行走步數(shù)問題的解決

    python機(jī)器人行走步數(shù)問題的解決

    這篇文章主要為大家詳細(xì)介紹了python機(jī)器人行走步數(shù)問題的解決,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 詳解Django中的ifequal和ifnotequal標(biāo)簽使用

    詳解Django中的ifequal和ifnotequal標(biāo)簽使用

    這篇文章主要介紹了詳解Django中的ifequal和ifnotequal標(biāo)簽使用,Django是重多高人氣Python框架中最為著名的一個(gè),需要的朋友可以參考下
    2015-07-07
  • python中用logging實(shí)現(xiàn)日志滾動(dòng)和過期日志刪除功能

    python中用logging實(shí)現(xiàn)日志滾動(dòng)和過期日志刪除功能

    這篇文章主要介紹了python中用logging實(shí)現(xiàn)日志滾動(dòng)和過期日志刪除功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python isalnum()函數(shù)的具體使用

    Python isalnum()函數(shù)的具體使用

    本文主要介紹了Python isalnum()函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python Autopep8實(shí)現(xiàn)按PEP8風(fēng)格自動(dòng)排版Python代碼

    python Autopep8實(shí)現(xiàn)按PEP8風(fēng)格自動(dòng)排版Python代碼

    這篇文章主要介紹了python Autopep8實(shí)現(xiàn)按PEP8風(fēng)格自動(dòng)排版Python代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Pandas技巧分享之創(chuàng)建測試數(shù)據(jù)

    Pandas技巧分享之創(chuàng)建測試數(shù)據(jù)

    學(xué)習(xí)pandas的過程中,為了嘗試pandas提供的各類功能強(qiáng)大的函數(shù),常常需要花費(fèi)很多時(shí)間去創(chuàng)造測試數(shù)據(jù),本篇介紹了一些快速創(chuàng)建測試數(shù)據(jù)的方法,需要的可以參考一下
    2023-07-07
  • Python代碼的打包與發(fā)布詳解

    Python代碼的打包與發(fā)布詳解

    這篇文章主要介紹了Python代碼的打包與發(fā)布的方法,需要的朋友可以參考下
    2014-07-07
  • Python中Pyenv virtualenv插件的使用

    Python中Pyenv virtualenv插件的使用

    pyenv是管理python版本的工具。安裝pyenv后,可以管理各種python版本,并且各個(gè)版本的環(huán)境完全獨(dú)立,互不干擾。今天通過本文給大家分享Python中Pyenv virtualenv插件的使用,感興趣的朋友一起看看吧
    2021-06-06
  • Python 處理帶有 \u 的字符串操作

    Python 處理帶有 \u 的字符串操作

    這篇文章主要介紹了Python 處理帶有 \u 的字符串操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評(píng)論