多值OrderedDict的最小值

时间:2018-09-01 18:58:37

标签: python ordereddict

我有一个OrderedDict,每个键都有多个值。

 <key, value1, value2, value3>
 <  1,   50  ,  1000,   20   >
 <  3,   40  ,  2000,   2  >
 <  5,   30  ,  10000,  70   >
..

如何获取最小值3的项的键? 对于此示例,最小值3将为2。所以,我想拥有:

      <  3,   40  ,  2000,   2  >

或键3

2 个答案:

答案 0 :(得分:3)

如果有序字典的值是元组或列表,则可以使用:

d = {1: (50, 1000, 20), 3: (40, 2000, 2), 5: (30, 10000, 70)}
min(d.items(), key=lambda x: x[-1][-1])

答案 1 :(得分:1)

使用带有lambda函数的min作为键。

m = min(d, key=lambda x:d[x][2])