3 回答

TA贡献1816条经验 获得超4个赞
min函数接受一个名为 的参数key,它将根据key可以调用的值找到可迭代的最小值。所以,试试这个:
l = [{'prisonniers': [], 'sécurité': '47'},{'prisonniers': [],'sécurité':'92'}, {'prisonniers': [], 'sécurité': '38'}]
min(l, key=lambda x:x['sécurité'])
输出将是
{'prisonniers': [], 'sécurité': '38'}

TA贡献1821条经验 获得超6个赞
类似于mehrdad-pedramfar's answer,但我更喜欢itemgetter从operator模块中使用以提高可读性。
设置:
from operator import itemgetter
data = [{'prisonniers': [], 'sécurité': '47'},{'prisonniers': [],'sécurité':'92'}, {'prisonniers': [], 'sécurité': '38'}]
解决方案:
>>> min(data, key=itemgetter('sécurité'))
{'prisonniers': [], 'sécurité': '38'}

TA贡献1784条经验 获得超8个赞
您可以使用min它,将其设置securite为查找最小值的键:
inList = [{'prisonniers': [], 'securite': '47'},{'prisonniers': [],'securite':'92'}, {'prisonniers': [], 'securite': '38'}]
value = min(inList, key=lambda elem: elem['securite'])
print(value)
输出:
{'prisonniers': [], 'securite': '38'}
在上面的例子中,我替换了é,e但它在你的情况下也能正常工作。
添加回答
举报