簡體   English   中英

在字典中查找具有最短值列表的鍵

[英]Finding the keys with the shortest list of values in a dictionary

這是我的字典:

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

我正在尋找在此字典中創建具有最短值列表的鍵列表。 在這種情況下,我會得到 output:

['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']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM