joh*_*rfx 1 python object minimum
我有一个这样的列表:
list = [
    {'price': 2, 'amount': 34},
    {'price': 7, 'amount': 123},
    {'price': 5, 'amount': 495}
]
如何在python中获取具有特定键的最小/最大值的对象?有了这个,我可以得到最小值:
min(obj['price']  for obj in list) # 2
但我想要的是一个完整的对象
{'price':2,'金额':34}
我怎样才能做到这一点?有没有foreach等的简单方法?
使用key你的min函数:
from operator import itemgetter
min(my_list, key=itemgetter('price'))
也不要使用python的内置关键字和/或数据结构名称作为变量和对象名称.它会通过遮蔽内置名称来混淆解释器.
要添加Kasramvd答案,您还可以使用lambda执行此操作.
>>> foo = [
...     {'price': 2, 'amount': 34},
...     {'price': 7, 'amount': 123},
...     {'price': 5, 'amount': 495}
... ]
>>> max(foo, key=lambda x: x['price'])
{'amount': 123, 'price': 7}
>>> min(foo, key=lambda x: x['price'])
{'amount': 34, 'price': 2}
>>> 
| 归档时间: | 
 | 
| 查看次数: | 1517 次 | 
| 最近记录: |