抱歉,问题重新发布了......我应该首先编辑这个问题。为模组标记了新的。抱歉,添麻烦了
由于要求发生变化,不得不重新编写问题。
我有一本字典,如下所示:
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(使用前将#替换为@)