【问题标题】:Looking for minimum between a range of index in a dictionary python在字典python中的索引范围之间寻找最小值
【发布时间】:2018-11-14 08:55:13
【问题描述】:

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

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

我要找:

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

这可能吗?

【问题讨论】:

  • 你甚至没有用谷歌搜索它。这是python built-in functions 的链接。好好利用它
  • @SaNa,我编辑了您的问题以修复语法错误;希望没关系。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2018-07-27
    • 2020-07-26
    • 2015-10-25
    • 2014-10-21
    • 1970-01-01
    • 2019-04-11
    相关资源
    最近更新 更多