为了账号安全,请及时绑定邮箱和手机立即绑定

查找与特定键相关的字典列表中的最小值

查找与特定键相关的字典列表中的最小值

九州编程 2021-09-11 15:20:43
我有这个 :[{'prisonniers': [], 'sécurité': '47'},{'prisonniers': [],'sécurité':'92'}, {'prisonniers': [], 'sécurité': '38'}]我需要将具有最低“安全性”的字典放入另一个列表中,在这种情况下,我需要这个:myList = [{'prisonniers': [], 'sécurité': '38'}]
查看完整描述

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'}


查看完整回答
反对 回复 2021-09-11
?
达令说

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'}


查看完整回答
反对 回复 2021-09-11
?
青春有我

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但它在你的情况下也能正常工作。


查看完整回答
反对 回复 2021-09-11
  • 3 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信