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

您的位置:首頁技術文章
文章詳情頁

Python 中Operator模塊的使用

瀏覽:3日期:2022-06-28 16:54:00

Python 中的 Operator 模塊可以讓它支持函數(shù)式編程。

1 計算函數(shù)

假設我們需要一個計算階乘的函數(shù),一般做法是使用遞歸。如果使用函數(shù)式編程,可以有兩種方式,一種 lambda,另一種使用 Operator 模塊中的算術函數(shù)。我們做個比較。

首先使用 lambda 方式來實現(xiàn):

from functools import reducedef fact(n): return reduce(lambda a, b: a * b, range(1, n + 1))

這里用到了 reduce 方法,reduce() 函數(shù)語法:reduce(function, iterable[, initializer])。其中的 function 函數(shù)有兩個參數(shù)。reduce() 函數(shù)會先對集合中的第 1、2 個元素進行 function 函數(shù)處理,得到的結果再與第三個元素進行 function 函數(shù)處理,最后得到一個結果1。

reduce() 函數(shù)中的 function 使用 lambda 表達式。第二個入?yún)?iterable 使用 range() 方法來生成。

接著使用 Operator 模塊中的 mul 函數(shù)來實現(xiàn)階乘:

from operator import muldef factWithMul(n): return reduce(mul, range(1, n + 1))

相對來說,使用 Operator 模塊中的計算函數(shù),代碼更加簡潔。

從源碼上分析,mul 函數(shù)就是計算兩個入?yún)⒌某朔e:

def mul(a, b): 'Same as a * b.' return a * b

Operator 模塊內部還定義了很多類似的計算函數(shù),比如:

Python 中Operator模塊的使用

2 過濾函數(shù)

operator 模塊中還有一類函數(shù)能夠起到條件過濾的作用。

首先介紹 itemgetter 函數(shù)。假設定義了一個 f 函數(shù),f = itemgetter(2),那么如果調用 f(r),實際會返回 r[2]。也就是說,傳入的入?yún)?r,最終返回的只是 r 的索引值為 2 (從 1 開始計算)那一部分。

itemgetter 函數(shù)應用場景是:根據(jù)元組的某個字段對元組列表進行排序。比如我們有一段 JSON 格式的城市數(shù)據(jù),需要對其簡稱進行排序:

from operator import itemgettermetro_areas = [(’Tokyo’, ’JP’, 36.933, (35.689722, 139.691667)), (’Delhi NCR’, ’IN’, 21.935, (28.613889, 77.208889)),(’Mexico City’, ’MX’, 20.142, (19.433333, -99.133333)),(’New York-Newark’, ’US’, 20.104, (40.808611, -74.020386)),(’Sao Paulo’, ’BR’, 19.649, (-23.547778, -46.635833)),]for city in sorted(metro_areas, key=itemgetter(1)): logging.info(’city -> %s’, city)

運行結果:

INFO - city -> (’Sao Paulo’, ’BR’, 19.649, (-23.547778, -46.635833))INFO - city -> (’Delhi NCR’, ’IN’, 21.935, (28.613889, 77.208889))INFO - city -> (’Tokyo’, ’JP’, 36.933, (35.689722, 139.691667))INFO - city -> (’Mexico City’, ’MX’, 20.142, (19.433333, -99.133333))INFO - city -> (’New York-Newark’, ’US’, 20.104, (40.808611, -74.020386))

城市數(shù)據(jù)數(shù)組中的每一個元素,拆分來看,就是元組形式。 itemgetter 函數(shù)取出元組的第二個值作為 sorted 函數(shù)的排序依據(jù)。

如果傳入 itemgetter 的入?yún)⒉恢挂粋€,那么它就是一個過濾函數(shù),只把需要的列過濾出來。

比如我們只需要城市數(shù)組中的城市簡稱與所在坐標,就可以這么做:

cc_name = itemgetter(1, 3)for city in metro_areas:logging.info(’city -> %s’, cc_name(city))

運行結果:

INFO - city -> (’JP’, (35.689722, 139.691667))INFO - city -> (’IN’, (28.613889, 77.208889))INFO - city -> (’MX’, (19.433333, -99.133333))INFO - city -> (’US’, (40.808611, -74.020386))INFO - city -> (’BR’, (-23.547778, -46.635833))

以上就是Python 中Operator模塊的使用的詳細內容,更多關于Python 中Operator模塊的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 艺术涂料_进口艺术涂料_艺术涂料加盟_艺术涂料十大品牌 -英国蒙太奇艺术涂料 | 苏州工作服定做-工作服定制-工作服厂家网站-尺品服饰科技(苏州)有限公司 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 膜结构_ETFE膜结构_膜结构厂家_膜结构设计-深圳市烨兴智能空间技术有限公司 | 合肥花魁情感婚姻咨询中心_挽回爱情_修复婚姻_恋爱指南 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 阴离子聚丙烯酰胺价格_PAM_高分子聚丙烯酰胺厂家-河南泰航净水材料有限公司 | ORP控制器_ORP电极价格-上优泰百科 | 卫生型双针压力表-高温防腐差压表-安徽康泰电气有限公司 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 | 长沙发电机-湖南发电机-柴油发电机供应厂家-长沙明邦智能科技 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 深圳货架厂家_金丽声精品货架_广东金丽声展示设备有限公司官网 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 执业药师报名时间,报考条件,考试时间-首页入口| 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | 雨水收集系统厂家-雨水收集利用-模块雨水收集池-徐州博智环保科技有限公司 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 大学食堂装修设计_公司餐厅效果图_工厂食堂改造_迈普装饰 | 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 北京工业设计公司-产品外观设计-产品设计公司-千策良品工业设计 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 工业设计,人工智能,体验式3D展示的智能技术交流服务平台-纳金网 J.S.Bach 圣巴赫_高端背景音乐系统_官网 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 |