Python?Map函數保姆級使用教程
你應該聽說過,應用Python,可以讓你處理一天的重復工作量,縮短到幾分鐘甚至更短。從此解放上班時間,研究更多更有效率的工作方法。進一步提升工作效率,讓工作更出彩。這不是廣告,這是實錘。
本文和你一起探索Python中的map函數,讓你以最短的時間明白這個函數的原理。也可以利用碎片化的時間鞏固這個函數,讓你在處理工作過程中更高效。
一、map函數的定義
map函數是Python中常用的內置函數,它會根據提供的函數對指定序列做映射??梢杂脕硖鎿Qfor循環(huán)語句,在不使用任何循環(huán)的情況下對所有指定元素進行迭代,讓代碼看起來更簡潔。其基本調用語法如下:
map(func, *iterables)
func:函數。
*iterables:一個或多個序列。
二、map函數實例
對數列中的每個元數求平方
如果我們要用循環(huán)函數對數列中的每個數求平方,可用如下代碼:
new_list = []
for i in [3, 4, 5, 6]:
new_list.append(i**2)
print(new_list)
得到結果:
[9, 16, 25, 36]
而用map函數一行代碼直接搞定,具體如下:
list(map(lambda x:x**2, [3, 4, 5, 6]))
得到結果:
[9, 16, 25, 36]
其中l(wèi)ambda x:x**2是函數,[3, 4, 5, 6]是原始數列,返回的結果是根據函數對原始數列做的映射。不過map的結果要通過list函數才能顯示出來。
求兩個數列中對應元素的和
有的人可能會說a是一個數列,b是另一個數列,求兩個數列的和那還不簡單,直接a+b不就好了。那我們來做個小實驗,看看python中兩個數列直接用+加起來會得到什么,代碼如下:
a = [2, 6, 3] b = [3, 4, 5] a + b
得到結果:
[2, 6, 3, 3, 4, 5]
可以發(fā)現python中兩個數列求+,直接將兩個數列拼接后返回。聰明的你想到用map函數怎么操作了嗎?具體代碼如下:
a = [2, 6, 3] b = [3, 4, 5] list(map(lambda a,b:a+b, a, b))
得到結果:
[5, 10, 8]
人工加一下可以發(fā)現答案是對的。
求數列中每個元素的長度
對python有了解的小伙伴應該知道len(str) 表示求str的長度。如果想要求數列中每個元素的長度應該怎么寫呢?具體代碼如下:
list(map(len, ['white', 'blue', 'green', 'yellow']))
得到結果:
[5, 4, 5, 6]
人工校驗一下可以發(fā)現答案是對的。
把數列中每個英文元素轉換成對應的大寫
對python有了解的小伙伴應該知道str.upper()表示把str中的字母轉換成對應的大寫。如果想要把數列中每個元素中的英文都轉換成對應的大寫應該怎么操作?具體代碼如下:
list(map(lambda x:x.upper(), ['white', 'blue', 'green', 'yellow']))
得到結果:
['WHITE', 'BLUE', 'GREEN', 'YELLOW']
人工校驗一下可以發(fā)現答案是對的。
將字符串轉換成數值數列
將字符串轉換成數值數列的具體代碼如下:
list(map(int, '789'))
得到結果:
[7, 8, 9]
人工校驗一下可以發(fā)現答案是對的。
提取字典中的鍵
如果想提取字典中的鍵你能想到幾種方法?本文提供兩種方法供大家參考。
方法一:
應用字典自帶的函數進行提取,具體代碼如下:
dict_1 = {'星期一': '吃榴蓮', '星期二': '吃葡萄' , '星期三': '吃西瓜', '星期四': '吃櫻桃', '星期五': '吃波羅蜜', '星期六': '吃葡萄', '星期天': '吃獼猴桃'}
list(dict_1.keys())
得到結果:
['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天']
人工校驗一下可以發(fā)現答案是對的。
方法二:
應用map函數進行提取,具體代碼如下:
list(map(str, {'星期一': '吃榴蓮', '星期二': '吃葡萄' , '星期三': '吃西瓜', '星期四': '吃櫻桃', '星期五': '吃波羅蜜', '星期六': '吃葡萄', '星期天': '吃獼猴桃'}))
得到結果:
['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天']
可以發(fā)現方法二和方法一得到的結果是一致的。從以上幾個案例中可以發(fā)現應用map函數可以使得代碼更加地簡潔。
到此這篇關于Python Map函數保姆級使用教程的文章就介紹到這了,更多相關Python Map函數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Python 使用 selenium 進行自動化測試或者協助日常工作
這篇文章主要介紹了Python 使用 selenium 進行自動化測試 或者協助日常工作,我們可以使用 selenium 來幫助我們進行自動化的 Web 測試,也可以通過 selenium 操作瀏覽器做一些重復的,簡單的事情,來減輕我們的工作2021-09-09
python如何解析復雜sql,實現數據庫和表的提取的實例剖析
這篇文章主要介紹了python如何解析復雜sql,實現數據庫和表的提取的實例剖析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
解決python pandas讀取excel中多個不同sheet表格存在的問題
這篇文章主要介紹了解決python pandas讀取excel中多個不同sheet表格存在的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07

