电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Python Map 函數(shù)的使用

瀏覽:7日期:2022-07-12 18:55:24

map()是一個 Python 內(nèi)建函數(shù),它允許你不需要使用循環(huán)就可以編寫簡潔的代碼。

一、Python map() 函數(shù)

這個map()函數(shù)采用以下形式:

map(function, iterable, ...)

它需要兩個必須的參數(shù):

function - 針對每一個迭代調(diào)用的函數(shù) iterable - 支持迭代的一個或者多個對象。在 Python 中大部分內(nèi)建對象,例如 lists, dictionaries, 和 tuples 都是可迭代的。

在 Python 3 中,map()返回一個與傳入可迭代對象大小一樣的 map 對象。在 Python 2中,這個函數(shù)返回一個列表 list。

讓我們看看一個例子,更好地解釋map()函數(shù)如何運作的。假如我們有一個字符串列表,我們想要將每一個元素都轉(zhuǎn)換成大寫字母。

想要實現(xiàn)這個目的的一種方式是,使用傳統(tǒng)的for循環(huán):

directions = ['north', 'east', 'south', 'west']directions_upper = []for direction in directions: d = direction.upper() directions_upper.append(d)print(directions_upper)

輸出:

[’NORTH’, ’EAST’, ’SOUTH’, ’WEST’

使用 map() 函數(shù),代碼將會非常簡單,非常靈活。

def to_upper_case(s): return s.upper()directions = ['north', 'east', 'south', 'west']directions_upper = map(to_upper_case, directions)print(list(directions_upper))

我們將會使用list()函數(shù),來將返回的 map 轉(zhuǎn)換成 list 列表:

輸出:

[’NORTH’, ’EAST’, ’SOUTH’, ’WEST’]

如果返回函數(shù)很簡單,更 Python 的方式是使用 lambda 函數(shù):

directions = ['north', 'east', 'south', 'west']directions_upper = map(lambda s: s.upper(), directions)print(list(directions_upper))

一個 lambda 函數(shù)是一個小的匿名函數(shù)。下面是另外一個例子,顯示如何創(chuàng)建一個列表,從1到10。

squares = map(lambda n: n*n , range(1, 11))print(list(squares))

輸出:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

`range()` 函數(shù)生成一系列的整數(shù)。

二、對多個迭代對象使用map()

你可以將任意多的可迭代對象傳遞給map()函數(shù)。回調(diào)函數(shù)接受的必填輸入?yún)?shù)的數(shù)量,必須和可迭代對象的數(shù)量一致。

下面的例子顯示如何在兩個列表上執(zhí)行元素級別的操作:

def multiply(x, y): return x * ya = [1, 4, 6]b = [2, 3, 5]result = map(multiply, a, b)print(list(result))

輸出:

[2, 12, 30]

同樣的代碼,使用 lambda 函數(shù),會像這樣:

a = [1, 4, 6]b = [2, 3, 5]result = map(lambda x, y: x*y, a, b)print(list(result))

當(dāng)提供多個可迭代對象時,返回對象的數(shù)量大小和最短的迭代對象的數(shù)量一致。

讓我們看看一個例子,當(dāng)可迭代對象的長度不一致時:

a = [1, 4, 6]b = [2, 3, 5, 7, 8]result = map(lambda x, y: x*y, a, b)print(list(result))

超過的元素 (7 和 8 )被忽略了。

[2, 12, 30]

三、總結(jié)

Python 的 map()函數(shù)作用于一個可迭代對象,使用一個函數(shù),并且將函數(shù)應(yīng)用于這個可迭代對象的每一個元素。

以上就是Python Map 函數(shù)的使用的詳細內(nèi)容,更多關(guān)于Python Map 函數(shù)的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 电机保护器-电动机综合保护器-上海硕吉电器有限公司 | 太原装修公司_山西整装家装设计_太原室内装潢软装_肖邦家居 | 智能家居全屋智能系统多少钱一套-小米全套价格、装修方案 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 空冷器|空气冷却器|空水冷却器-无锡赛迪森机械有限公司[官网] | 能耗监测系统-节能监测系统-能源管理系统-三水智能化 | 长沙印刷厂-包装印刷-画册印刷厂家-湖南省日大彩色印务有限公司 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 收录网| 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 热镀锌槽钢|角钢|工字钢|圆钢|H型钢|扁钢|花纹板-天津千百顺钢铁贸易有限公司 | 网站建设-高端品牌网站设计制作一站式定制_杭州APP/微信小程序开发运营-鼎易科技 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 洗石机-移动滚筒式,振动,螺旋,洗矿机-青州冠诚重工机械有限公司 | 丹尼克尔拧紧枪_自动送钉机_智能电批_柔性振动盘_螺丝供料器品牌 | 橡胶电子拉力机-塑料-微电脑电子拉力试验机厂家-江苏天源 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 环比机械| 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 特种电缆厂家-硅橡胶耐高温电缆-耐低温补偿导线-安徽万邦特种电缆有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格| 国标白水泥,高标号白水泥,白水泥厂家-淄博华雪建材有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 水性绝缘漆_凡立水_绝缘漆树脂_环保绝缘漆-深圳维特利环保材料有限公司 | 硫酸钡厂家_高光沉淀硫酸钡价格-河南钡丰化工有限公司 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 高压直流电源_特种变压器_变压器铁芯-希恩变压器定制厂家 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 蒸压釜_蒸养釜_蒸压釜厂家-山东鑫泰鑫智能装备有限公司 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 单柱拉力机-橡胶冲片机-哑铃裁刀-江都轩宇试验机械厂 |