Skip to main content
 首页 » 编程设计

python之列出列表中字典中的所有键。 (列表中的字典)

2025年05月04日18mate10pro

好吧,不知道如何解释这个问题,但这里是。

这是我的字典 myDictionary = {'12/2019' : [{'1003' : 2}, {'1040' : 3}]}

我正在尝试列出 '1003'、'1040'。

我试过用这个方法:

for i in range(len(a['12/2019'])): 
    print(a['12/2019'][i].keys()) 

它有点工作,但它返回我

dict_keys(['1003']) 
dict_keys(['1040']) 

有没有办法让 1030 和 1040 与 ... dict_keys(['']) 隔离?

请您参考如下方法:

您可以遍历字典的值,如果该值是列表,则遍历列表中的字典,并将所有键附加到结果

myDictionary = {'12/2019' : [{'1003' : 2}, {'1040' : 3}], 
                '11/2019': '1005', '10/2019': 1234, 
                '09/2019': [{'1006' : 2}, {'1042' : 3}], 
                '08/2019': (1,2)} 
 
keys=[] 
 
#Iterate over values  
for value in myDictionary.values(): 
 
    #If value is a list 
    if isinstance(value, list): 
 
        #Iterate over the list 
        for d in value: 
 
            #Add the keys to the result 
            keys.extend(list(d.keys())) 
 
print(keys) 

输出将是

['1003', '1040', '1006', '1042'] 

你也可以通过列表推导来做到这一点,但它不是真正可读的,所以我会避免反对它

[key for value in myDictionary.values() if isinstance(value, list) for d in value for key in d.keys()]