我有这个:
[{'prisonniers': [], 'sécurité': '47'},{'prisonniers': [],'sécurité':'92'}, {'prisonniers': [], 'sécurité': '38'}]
我需要在另一个列表中放置具有最低“sécurity”的字典,例如,在这种情况下,我需要这样做:
myList = [{'prisonniers': [], 'sécurité': '38'}]
我有这个:
[{'prisonniers': [], 'sécurité': '47'},{'prisonniers': [],'sécurité':'92'}, {'prisonniers': [], 'sécurité': '38'}]
我需要在另一个列表中放置具有最低“sécurity”的字典,例如,在这种情况下,我需要这样做:
myList = [{'prisonniers': [], 'sécurité': '38'}]
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的答案类似,但我更喜欢使用operator
模块中的itemgetter
来提高可读性。
设置:
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'}
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
替换了é
,但在您的情况下也可以正常工作。min([ i['sécurité'] for i in input_list])
找到最小的"sécurité",然后再次使用列表推导式print
出具有最小值的匹配的"sécurité"。aa = [print(i) for j in input_list if j['sécurité'] == min([ i['sécurité'] for i in input_list])]
min
函数排序的key
。 - undefinedmin
、max
和sorted
函数的key
参数等技巧的问题。 - undefined