我有以下格式的字典列表:
[{'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这里.
我该如何实现这一目标?
min可以采取一些关键字参数来告诉它如何比较事物......其中之一就是key,这通常足以满足这样的简单事情
import operator
min(ItemPrice,key=operator.itemgetter("PRICE"))
Run Code Online (Sandbox Code Playgroud)
>>> 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函数的参考.
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |