【问题标题】:Max and min value in list of dicts where each dict key has a value字典列表中的最大值和最小值,其中每个字典键都有一个值
【发布时间】:2017-01-04 08:09:13
【问题描述】:

我找到的所有答案似乎都让你不得不specify which key 你想找到例如最大值/最小值。 Finding minimum values in a list of dicts.

我有一个字典列表,例如:

 [
{
    1:34,
    2:12,
    3:24
},
{
    1:121,
    2:1211,
    3:1891
},
{
    1:191,
    2:8991,
    3:3232
}
]

所以这里它会拉出 12 和 8991。

我想在这个字典列表中找到所有值的最大值和最小值。

如何在不必分别指定每个键(例如 1、2、3)的情况下执行此操作 - 在实际版本中我有 20 多个。

【问题讨论】:

    标签: python list dictionary max min


    【解决方案1】:

    您可以使用列表推导式或生成器表达式。

    max([max(d.values()) for d in data])
    

    【讨论】:

    • 您可以通过删除 [] 来使用生成器而不是推导式。
    【解决方案2】:

    您可以将值展平,然后找到最小值和最大值:

    from itertools import chain
    
    flattened = list(chain(*(d.values() for d in list_of_dicts)))
    print(min(flattened))
    print(max(flattened))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2016-05-19
      • 2020-03-16
      • 2016-04-14
      • 2022-11-26
      相关资源
      最近更新 更多