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

我有这个 :

[{'prisonniers': [], 'sécurité': '47'},{'prisonniers': [],'sécurité':'92'}, {'prisonniers': [], 'sécurité': '38'}]

我需要将具有最低“安全性”的字典放入另一个列表中,在这种情况下,我需要这个:

myList = [{'prisonniers': [], 'sécurité': '38'}]


九州编程
浏览 200回答 3
3回答

繁华开满天机

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

达令说

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

青春有我

您可以使用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但它在你的情况下也能正常工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python