从List中找到最小Dic键及其值

时间:2014-02-14 17:52:57

标签: python python-3.x

我有以下格式的词典列表:

[{'ASIN': 'B009OZUPUC', 'PRICE': 39.47}, {'ASIN': 'B009OZUPUC', 'PRICE': 39.5}, {'ASIN': 'B009OZUPUC', 'PRICE': 48.58}, {'ASIN': 'B009OZUPUC', 'PRICE': 62.57}]

我试过了:

min_price = min(item['PRICE'] for item in ItemPrice)

这样做确实会返回正确的最低价格我想找到对应的ASIN键具有最低价格。例如B009OZUPUC这里。

我如何实现这一目标?

2 个答案:

答案 0 :(得分:5)

min可以使用一些关键字参数来告诉它如何比较事物......其中一个是key,这通常足以满足像这样的简单事情

import operator
min(ItemPrice,key=operator.itemgetter("PRICE"))

答案 1 :(得分:5)

minkey function

一起使用
>>> ItemPrice = [{'ASIN': 'B009OZUPUC', 'PRICE': 39.47}, {'ASIN': 'B009OZUPUC', 'PRICE': 39.5}, {'ASIN': 'B009OZUPUC', 'PRICE': 48.58}, {'ASIN': 'B009OZUPUC', 'PRICE': 62.57}]
>>> min(ItemPrice, key=lambda x: x['PRICE'])
{'PRICE': 39.47, 'ASIN': 'B009OZUPUC'}
>>> min(ItemPrice, key=lambda x: x['PRICE'])['ASIN']
'B009OZUPUC'
>>>

此外,这是lambda functions的参考资料。