查找字典中值最短的键

问题描述 投票:0回答:1

这是我的字典:

D = {'G': ['R'],
 'L': ['H'],
 'H': ['H', 'L', 'T', 'M'],
 'T': ['R'],
 'S': ['M', 'L', 'H'],
 'M': ['R']} 

我正在寻找用此字典中最短值列表创建键的列表。在这种情况下,我将得到输出:

['G', 'L', 'T', 'M']

我有这段代码可以成功找到具有最短值列表的第一个键,但是不会创建列表。

min_key, min_value = min(d.items(), key = lambda x: len(set(x[1])))

此代码仅返回'G'

这是我创建列表的尝试:

li = [k for k, v in d.items() if v == min_key] 
li

这将返回一个空列表。

python list dictionary
1个回答
0
投票

由于存储在min_value中的列表最短,因此可以使用列表的长度,然后执行

>>> [k for k, v in d.items() if len(v) == len(min_value)] 
['G', 'L', 'T', 'M']
© www.soinside.com 2019 - 2024. All rights reserved.