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

Vol*_*il3 0 python python-3.x

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

[{'ASIN': 'B009OZUPUC', 'PRICE': 39.47}, {'ASIN': 'B009OZUPUC', 'PRICE': 39.5}, {'ASIN': 'B009OZUPUC', 'PRICE': 48.58}, {'ASIN': 'B009OZUPUC', 'PRICE': 62.57}]
Run Code Online (Sandbox Code Playgroud)

我试过这个:

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

这样做确实返回正确的最低价格我想找到对应的ASIN密钥具有最低价格.比如B009OZUPUC这里.

我该如何实现这一目标?

Jor*_*ley 5

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

import operator
min(ItemPrice,key=operator.itemgetter("PRICE"))
Run Code Online (Sandbox Code Playgroud)


iCo*_*dez 5

使用min关键功能:

>>> 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'
>>>
Run Code Online (Sandbox Code Playgroud)

另外,这里是lambda函数的参考.