我有以下格式的词典列表:
[{'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
这里。
我如何实现这一目标?
答案 0 :(得分:5)
min
可以使用一些关键字参数来告诉它如何比较事物......其中一个是key
,这通常足以满足像这样的简单事情
import operator
min(ItemPrice,key=operator.itemgetter("PRICE"))
答案 1 :(得分:5)
>>> 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的参考资料。