这是我的字典:
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
这将返回一个空列表。
由于存储在min_value
中的列表最短,因此可以使用列表的长度,然后执行
>>> [k for k, v in d.items() if len(v) == len(min_value)]
['G', 'L', 'T', 'M']