Skip to main content
 首页 » 编程设计

python之使用字典的嵌套列表理解

2025年05月04日14langtianya

我有一个这样的列表:

mydict = { 
              'Alpha' : {'l':'a','n':1,'q':3,'z':4}, 
              'Beta'  : {'l':'b','n':2,'q':2,'z':5}, 
              'Gamma' : {'l':'c','n':3,'q':1,'z':6} 
         } 
# Or 
mydict = {'Alpha': {'l': 'a', 'n': 1, 'q':3, 'z':4}, 'Beta': {'l': 'b', 'n': 2, 'q':2, 'z':5}, 'Gamma': {'l': 'c', 'n': 3, 'q':1, 'z':6}} 

我的输出需要是:

[['Alpha:','a',1,3,4],['Beta:','b',2,2,5],['Gamma:',c,3,1,6]] 
# Or 
[ 
    ['Alpha:' ,'a'  ,1  ,3  ,4], 
    ['Beta:'  ,'b'  ,2  ,2  ,5], 
    ['Gamma:' ,'c'  ,3  ,1  ,6] 
] 

我的目标是:

[[x,y['l'],y['n'],y['q'],y['z']] for x,y in mydict.items()] 

但我不想使用y['l'],y['n'],我想使用另一种字典理解。这可能吗?例如,如果我将 key 'l' 修改为 'a' 代码将不起作用,如果我添加新 key 'x',不会显示。
PD:数字是整数还是字符串(最好是字符串)并不重要。

请您参考如下方法:

你可以试试这个:

mydict = {'Alpha': {'l': 'a', 'n': 1, 'q':3, 'z':4}, 'Beta': {'l': 'b', 'n': 2, 'q':2, 'z':5}, 'Gamma': {'l': 'c', 'n': 3, 'q':1, 'z':6}} 
 
new_list = [[i]+b.values() for i, b in mydict.items()]