Python itemgetter函数怎么用?

Operator模块中也有一类函数可以作为条件过滤。

首先介绍 itemgetter 函数。假设定义了一个 f 函数,f = itemgetter(2),那么如果调用 f(r),实际会返回 r[2]。也就是说,传入的入参 r,最终返回的只是 r 的索引值为 2 (从 1 开始计算)那一部分。

itemgetter函数应用场景:根据tuple的某个字段对tuple列表排序。例如,有一段JSON格式的城市数据,需要按缩写方式排序:

fromoperatorimportitemgetter

metro_areas=[('Tokyo','JP',36.933,(35.689722,139.691667)),('DelhiNCR','IN',21.935,(28.613889,77.208889)),
('MexicoCity','MX',20.142,(19.433333,-99.133333)),
('NewYork-Newark','US',20.104,(40.808611,-74.020386)),
('SaoPaulo','BR',19.649,(-23.547778,-46.635833)),
]
forcityinsorted(metro_areas,key=itemgetter(1)):
logging.info('city->%s',city)

从分割来看,城市数据数组中的每个元素都是元组形式。itemgetter函数提取tuple的第二个值,作为sorted函数排序的基础。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。