我有一本字典:

d = {'a': (1, 2, 'a'), 'b': (1, 2, 'b'), 'c': (2, 4, 'c'), 'd': (1, 3, 'd'), 'e': (0, 1, 'e'), 'f': (0, 1, 'f'), 'g': (1, 3, 'g'), 'h': (0, 1, 'h'), 'j': (1, 2, 'j'), 'i': (0, 1, 'i'), 'k': (-1, 0, 'k')}

我想找出哪一个是字典中所有值的最小值。然而,在最后一个键(k)上有一个-1。
如何忽略该键/值而不删除它?或者是唯一可以移除的方法:
'k': (-1, 0, 'k')

然后使用min()。
这是我的代码:
print(min(d.values()))

电流输出:
(-1, 0, 'k')

预期产量:
(0, 1, 'e')

最佳答案

当您调用min时,可以“过滤”以负数开头的元组,而不包括它们:

d = {'a': (1, 2, 'a'), 'b': (1, 2, 'b'), 'c': (2, 4, 'c'), 'd': (1, 3, 'd'), 'e': (0, 1, 'e'), 'f': (0, 1, 'f'), 'g': (1, 3, 'g'), 'h': (0, 1, 'h'), 'j': (1, 2, 'j'), 'i': (0, 1, 'i'), 'k': (-1, 0, 'k')}

print(min(tup for tup in d.values() if tup[0] >= 0))

输出:
(0, 1, 'e')

关于python - 在找到一组元组的最小值时,如何忽略负数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54139514/

10-12 21:08