您的当前位置:首页正文

Python itemgetter函数怎么用?

2024-08-01 来源:化拓教育网

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

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

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

from operator import itemgetter
 
metro_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)

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

以上就是Python itemgetter函数的使用,希望能对大家有所帮助!