寻找字典python中索引范围之间的最小值

时间:2018-06-05 00:28:23

标签: python python-3.x dictionary range minimum

我正在寻找字典中索引范围之间的最小值;例如:

min(A[2..5]) = min(A[2] A[3] A[4]A [5]) = -5

我想找到:

{{1}}

这可能吗?

1 个答案:

答案 0 :(得分:0)

Python list不支持通过索引器列表进行索引。有几种解决方案可以解决这个问题。

您知道密钥存在的地方

您可以使用itemgetter和序列解包:

from operator import itemgetter

A = {1: -3, 2: -5, 3: 4, 5: 12, -34: 23, 64: 32}

res = min(itemgetter(*[2, 3, 5])(A))

# -5

密钥可能不存在

您可以使用range对象指定一系列键。 listset也会有效。在这里,我们将生成器表达式提供给min

res = min(v for k, v in A.items() if k in range(2, 6))

# -5