这是我的字典和列表
d = {1: ['val1', 'val2'], 2: ['val3', 'val4']}
l = []
for key, value in d.items():
for sub_value in value:
l.append(sub_value)
print (l)
#['val1','val2','val3','val4']
但是,我想使用 dict列出理解力。
我有这样的东西
l = [sub_value for sub_value in value for key,value in d.items()]
也尝试过
l = [(sub_value for sub_value in value) for key,value in d.items()]
但是,并不是我一直在寻找的答案。
谢谢。
答案 0 :(得分:1)
您与第一个非常接近;顺序错误:
In [42]: [el for v in d.values() for el in v]
Out[42]: ['val1', 'val2', 'val3', 'val4']
答案 1 :(得分:0)
使用以下列表理解:
l = [j for i in d for j in d[i]]
>>> d = {1: ['val1', 'val2'], 2: ['val3', 'val4']}
>>> l = [j for i in d for j in d[i]]
>>> l
['val1', 'val2', 'val3', 'val4']
>>>
答案 2 :(得分:0)
我将第一个承认列表理解有时会造成混淆:
[sub_value for key,value in d.items() for sub_value in value]
这将提供所需的输出。