列表理解
Dict into List Comprehension
这是我的字典和列表
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()]
然而,这并不是我想要的答案。
谢谢。
使用以下列表理解:
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']
>>>
您与第一个非常接近;只是错误的顺序:
In [42]: [el for v in d.values() for el in v]
Out[42]: ['val1', 'val2', 'val3', 'val4']
我会第一个承认列表理解有时确实令人困惑:
[sub_value for key,value in d.items() for sub_value in value]
这给出了所需的输出。
这是我的字典和列表
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()]
然而,这并不是我想要的答案。
谢谢。
使用以下列表理解:
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']
>>>
您与第一个非常接近;只是错误的顺序:
In [42]: [el for v in d.values() for el in v]
Out[42]: ['val1', 'val2', 'val3', 'val4']
我会第一个承认列表理解有时确实令人困惑:
[sub_value for key,value in d.items() for sub_value in value]
这给出了所需的输出。