中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中的函數有哪些

發布時間:2020-09-24 11:47:36 來源:億速云 閱讀:94 作者:Leah 欄目:編程語言

Python中的函數有哪些?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Python中自帶了幾個比較有意思的函數,一般在面試或者筆試基礎的時候會問到,其中3個就是map、filter、reduce函數。

1.map(function, iterable)

它第一個要傳的元素是函數名或lambda匿名函數表達式,第二個元素傳入可迭代對象。

array = [1,2,3,4,5]result = map(lambda x:x+1,array)result#這里result直接打印的結果是一個對象,需要用list轉化一下才
可以看到具體結果<map object at 0x0000000003A79518>list(result)[2, 3, 4, 5, 6]

這里我們可以看到,map函數結果里的每一個元素都比原列表對應的元素大1,而我縮寫的lambda表達式就是將每個元素加1。

由此可以看出map()函數的作用就是將可迭代對象里的每個元素進行函數操作,然后將元素操作后所組成的可迭代對象返回。

2.filter(function, iterable)

同樣,第一個參數傳入函數名或匿名函數,第二個元素傳入可迭代對象

#先按map的函數傳入試一下array = [1,2,3,4,5]result = filter(lambda x:x+1,array)result<filter object at
 0x0000000003A79550>list(result)
#結果沒有變化,說明對參數沒有進行操作返回[1, 2, 3, 4, 5]
#將函數進行True、False判斷返回試一下result1 = filter(lambda x:x if x%2==0 else None,array)result1<filter object at
 0x0000000003C28A90>list(result1)
#返回了為True的值[2, 4]

由上面的代碼可以得出,filter()函數是將可迭代對象的元素代入函數,然后返回為True的元素,一般做篩選的時候可以用到,不用再寫循環。

3.reduce(function, iterable)

reduce函數只有在python2中才有,傳入參數和map、filter是一樣的。但它的函數傳入的是兩個元素,將前兩個元素代入函數后返回操作后的值,將返回的值再作為第一個元素,同時將第三個元素作為第二個元素再次代入函數進行運算,直到結束返回最后結果。

array = [1,2,3,4,5]
result = reduce(lambda x,y:x+y,array)
list(result)
#1+2+3+4+5=1515

它的操作步驟其實很簡單:

第一次x=1,y=2傳入匿名函數,x+y是返回的值3

第二次x=3(返回的那個3),y=3(此3為列表中第二個元素)代入函數,返回x+y為6

第三次x=6,y=4,返回x+y為10

第四次x=10,y=5,返回x+y為15

后邊沒有元素可傳入直接結束。

關于Python中的函數有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙岩市| 贺州市| 柳林县| 峡江县| 长汀县| 耿马| 镇雄县| 旺苍县| 诸暨市| 砀山县| 南投县| 兖州市| 顺昌县| 南部县| 朝阳区| 遂溪县| 孟村| 景德镇市| 蓬溪县| 开江县| 治多县| 巴马| 蒙山县| 绵竹市| 甘洛县| 壤塘县| 奇台县| 铜川市| 简阳市| 崇左市| 株洲市| 鞍山市| 吐鲁番市| 晴隆县| 古田县| 七台河市| 香河县| 开阳县| 陈巴尔虎旗| 齐齐哈尔市| 贵定县|