日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

一文帶您理解Python的map/filter/reduce

來源: 責(zé)編: 時(shí)間:2024-07-11 17:31:17 710觀看
導(dǎo)讀map、reduce 和 filter 函數(shù)在Python中是高效優(yōu)雅的函數(shù),可以以簡潔而高效的方式轉(zhuǎn)換和操作數(shù)據(jù)。map函數(shù)允許您對可迭代對象中的每個(gè)元素應(yīng)用同一個(gè)函數(shù),從而生成一個(gè)新的可迭代對象。filter函數(shù)則允許您根據(jù)條件過濾

map、reduce 和 filter 函數(shù)在Python中是高效優(yōu)雅的函數(shù),可以以簡潔而高效的方式轉(zhuǎn)換和操作數(shù)據(jù)。map函數(shù)允許您對可迭代對象中的每個(gè)元素應(yīng)用同一個(gè)函數(shù),從而生成一個(gè)新的可迭代對象。filter函數(shù)則允許您根據(jù)條件過濾可迭代對象中的元素,僅保留滿足條件的元素。而reduce函數(shù)則用于將可迭代對象中的元素逐個(gè)結(jié)合起來,生成單個(gè)值。通過理解和靈活運(yùn)用這些函數(shù),您能夠更加輕松地處理數(shù)據(jù),提高編程效率和代碼清晰度。mbo28資訊網(wǎng)——每日最新資訊28at.com

map 函數(shù):多功能的變形器

mbo28資訊網(wǎng)——每日最新資訊28at.com

map函數(shù)接收兩個(gè)參數(shù):mbo28資訊網(wǎng)——每日最新資訊28at.com

  • 計(jì)算函數(shù)
  • 可迭代對象

其目的是對可迭代對象(如列表)中的每個(gè)元素應(yīng)用某種轉(zhuǎn)換。映射函數(shù)將該函數(shù)應(yīng)用于可迭代對象中的每個(gè)元素,并返回一個(gè)新的可迭代對象。mbo28資訊網(wǎng)——每日最新資訊28at.com

mylist = [1, 2, 3, 4]def add100(n):  return n + 100newlist = list(map(add100, mylist))print(newlist)

上面是一個(gè)簡單的函數(shù) add100(n),它接收一個(gè)數(shù)字 n,并簡單地返回 n+100。add100 函數(shù)應(yīng)用于 mylist 中的每一個(gè)元素:mbo28資訊網(wǎng)——每日最新資訊28at.com

  • add100(1) 返回 101
  • add100(2) 返回 102
  • add100(3) 返回 103
  • add100(4) 返回 104

因此,返回 [101, 102, 103, 104]。mbo28資訊網(wǎng)——每日最新資訊28at.com

filter函數(shù):選擇器/過濾器

mbo28資訊網(wǎng)——每日最新資訊28at.com

filter函數(shù)接收兩個(gè)參數(shù):mbo28資訊網(wǎng)——每日最新資訊28at.com

  • 判斷函數(shù)
  • 可迭代對象

其目的是決定哪些可迭代對象中的元素保留,哪些丟棄。過濾函數(shù)不會對元素進(jìn)行任何轉(zhuǎn)換。mbo28資訊網(wǎng)——每日最新資訊28at.com

mylist = [1, 2, 3, 4, 5, 6, 7, 8]def larger5(n):  return n > 5newlist = list(filter(larger5, mylist))print(newlist)

上面代碼是一個(gè)函數(shù) larger5(n),它接收一個(gè)數(shù)字 n,如果 n 大于5則返回True,否則返回False。mbo28資訊網(wǎng)——每日最新資訊28at.com

larger5 函數(shù)應(yīng)用于 mylist 中的每一個(gè)元素:mbo28資訊網(wǎng)——每日最新資訊28at.com

  • larger5(1) -- larger5(5)返回 False
  • larger5(6) -- larger5(8) 返回 True

因此,1、2、3、4、5 返回 False 被丟棄,而只有 6、7、8 返回 True 被保留,最終返回 [6, 7, 8]。mbo28資訊網(wǎng)——每日最新資訊28at.com

reduce函數(shù):聚合器

mbo28資訊網(wǎng)——每日最新資訊28at.com

reduce 函數(shù)接收兩個(gè)參數(shù):mbo28資訊網(wǎng)——每日最新資訊28at.com

  • 計(jì)算函數(shù)
  • 可迭代對象

這個(gè)函數(shù)的目的是以某種方式將所有元素壓縮成一個(gè)值。最簡單的例子是加法。mbo28資訊網(wǎng)——每日最新資訊28at.com

mylist = [1, 2, 3, 4, 5]from functools import reducedef add(a, b):  return a + bresult = reduce(add, mylist)print(result)

上面代碼是一個(gè)簡單的函數(shù) add(a, b),它簡單地返回 a+b。mbo28資訊網(wǎng)——每日最新資訊28at.com

這個(gè)函數(shù)被應(yīng)用于每一對元素(累積地):mbo28資訊網(wǎng)——每日最新資訊28at.com

  • add(1, 2) 返回 3
  • add(3, 3) 返回 6
  • add(6, 4) 返回 10
  • add(10, 5) 返回 15

因此,最終得到 15。mbo28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-100462-0.html一文帶您理解Python的map/filter/reduce

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 盤點(diǎn)JavaScript中Eval函數(shù)的使用方法

下一篇: 如何在 Flutter 中實(shí)現(xiàn) 2D 可滾動的表格,探索 Flutter 中的二維可滾動項(xiàng),表格解決方案

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 宜良县| 博客| 北京市| 望城县| 临泉县| 湘潭市| 厦门市| 正定县| 陕西省| 惠安县| 清苑县| 大悟县| 富源县| 临江市| 绥德县| 二手房| 沈阳市| 泗水县| 柘城县| 庄河市| 客服| 闽侯县| 郓城县| 咸宁市| 丰城市| 枣阳市| 定兴县| 察隅县| 石渠县| 五莲县| 甘南县| 新和县| 汶川县| 乐至县| 中山市| 清原| 神农架林区| 建瓯市| 万盛区| 大同县| 水城县|