Python 字典值中的最大值

Python 字典值中的最大值,python,python-2.7,list,dictionary,max,Python,Python 2.7,List,Dictionary,Max,如何在字典中检索值列表中包含最高数字的键 l = { '1': [1, 2, 3, 4, 5, 6, 8, 9, 10, 11], '3': [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], '5': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 17, 18, 19], '4': [4, 1, 2, 3, 5, 6], '7': [1, 2, 8, 3, 4,

如何在字典中检索值列表中包含最高数字的键

l = {
 '1': [1, 2, 3, 4, 5, 6, 8, 9, 10, 11], 
 '3': [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
 '5': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 17, 18, 19],
 '4': [4, 1, 2, 3, 5, 6],
 '7': [1, 2, 8, 3, 4, 5, 6, 7]
}

在本例中,键5包含一个值19,因此应返回该值

您可以对转换为
列表
(python 3)的字典键应用
max
,使用返回
列表
最大值的键函数

l = {'1': [1, 2, 3, 4, 5, 6, 8, 9, 10, 11],
 '3': [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
 '5': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 17, 18, 19],
 '4': [4, 1, 2, 3, 5, 6],
 '7': [1, 2, 8, 3, 4, 5, 6, 7]}

print(max(list(l.keys()),key=lambda k:max(l[k])))
结果:
5

编辑:可以,但在计算最大值时不必要地查询dict。最好获得键+值对,并处理
元组的列表。最后,以第一个元素为例。应稍微快一点(无键查找):


您可以在转换为
列表
(python 3)的字典键上应用
max
,使用返回
列表
最大值的键函数

l = {'1': [1, 2, 3, 4, 5, 6, 8, 9, 10, 11],
 '3': [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
 '5': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 17, 18, 19],
 '4': [4, 1, 2, 3, 5, 6],
 '7': [1, 2, 8, 3, 4, 5, 6, 7]}

print(max(list(l.keys()),key=lambda k:max(l[k])))
结果:
5

编辑:可以,但在计算最大值时不必要地查询dict。最好获得键+值对,并处理
元组的列表。最后,以第一个元素为例。应稍微快一点(无键查找):

您可以尝试以下方法:

l = {
  '1': [1, 2, 3, 4, 5, 6, 8, 9, 10, 11], 
  '3': [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
  '5': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 17, 18, 19],
  '4': [4, 1, 2, 3, 5, 6],
  '7': [1, 2, 8, 3, 4, 5, 6, 7]
}
final_val = sorted(l.items(), key=lambda x: max(x[-1]))[-1][0]
print(final_val)
输出:

5
您可以尝试以下方法:

l = {
  '1': [1, 2, 3, 4, 5, 6, 8, 9, 10, 11], 
  '3': [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
  '5': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 17, 18, 19],
  '4': [4, 1, 2, 3, 5, 6],
  '7': [1, 2, 8, 3, 4, 5, 6, 7]
}
final_val = sorted(l.items(), key=lambda x: max(x[-1]))[-1][0]
print(final_val)
输出:

5

问题中似乎缺少一些代码。请将您的问题包括在内。您的问题中似乎缺少一些代码。请把你的问题包括在内