我发现的所有答案似乎都让您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 +。
答案 0 :(得分:2)
您可以使用列表推导或生成器表达式。
max([max(d.values()) for d in data])
答案 1 :(得分:1)
您可以展平数值,然后找到最小值和最大值:
from itertools import chain
flattened = list(chain(*(d.values() for d in list_of_dicts)))
print(min(flattened))
print(max(flattened))