Python 列表字典中的最小值

2023-12-15

抱歉,问题重新发布了......我应该首先编辑这个问题。为模组标记了新的。抱歉,添麻烦了

由于要求发生变化,不得不重新编写问题。

我有一本字典,如下所示:

d = {'a': [4, 2], 'b': [3, 4], 'c': [4, 3], 'd': [4, 3], 'e': [4], 'f': [4], 'g': [4]}

我想获取与字典 d 中最小长度相关的键以及具有最大值的键。

在这种情况下,长度最小的键(该字典中列表的最小长度)应该返回

'e, 'f', 'g'

那些具有最大值(每个列表中的整数之和)的应该返回

'b' 'c'

我努力了

min_value = min(dict.itervalues())
min_keys = [k for k in d if dict[k] == min_value]

但这并没有给我我想要的结果。

有任何想法吗?

Thanks!


您的问题是您的列表包含字符串('2'),而不是整数 (2)。省略引号,或使用以下内容:

min_value = min(min(map(int, v) for v in dct.values()))
min_keys = [k for k,v in d.items() if min_value in map(int, v)]

同样,计算最大长度的键:

max_length = max(map(len, dct.values()))
maxlen_keys = [k for k,v in d.items() if max_length == len(v)]

另外,使用它是一个坏主意dict作为变量名,因为这样做会掩盖内置的dict.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 列表字典中的最小值 的相关文章

随机推荐