pythonitemgetter函数怎么用?
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函数排序的基础。
以上就是Pythonitemgetter函数的使用,希望能对大家有所帮助!更多Python学习教程请关注IT培训机构:千锋教育。