我试图使用列表中的第二个元素找到包含列表的字典的最大值。
这是一个例子。
data = {0: [6.6, 0.19920350542916282],
1: [0.31000000000000005, 0.13792538097003],
2: [1.55, 0.2935644431995964],
3: [12.5, 0.2935644431995964]}
max(data.items(), key=lambda x:x[1][1])
output will be (2, [1.55, 0.2935644431995964])
但是我希望输出为(3, [12.5, 0.2935644431995964]})
即当两个值相同时,再次查看这些值列表的第一个元素并选取具有最大值的那个值。
当两个值相同时,再次查看这些值列表的第一个元素并选取具有最大值的值
然后使用(x[1][1], x[1][0])
元组作为关键:
>>> max(data.items(), key=lambda x:(x[1][1], x[1][0]))
(3, [12.5, 0.2935644431995964])
这应该工作:
data = {0: [6.6, 0.19920350542916282],
1: [0.31000000000000005, 0.13792538097003],
2: [1.55, 0.2935644431995964],
3: [12.5, 0.2935644431995964]}
max(data.items(), key=lambda x:(x[1][1],x[1][0]))