仅从列表中的字典中提取值

Extract only values from a dicts inside a list

如何从嵌套在列表中的每个字典中提取每个值? 目前我坚持接受一个键的列表理解。

d = [e["key1"] for e in list]

样本

[{'key1': 'value1', 'key2': 'value2'}, {'key3': 'value4', 'key4': 'value4'}]

需要得到

value1, value2, value3, value4
>>> vals = []
>>> for d in d_list:
    vals += list(d.values())
        
>>> vals
['value1', 'value2', 'value4', 'value4']

通过 itertools 链 -

l  = [{'key1': 'value1', 'key2': 'value2'}, {'key3': 'value4', 'key4': 'value4'}]

from itertools import chain
result = list(chain(*(item.values() for item in l)))

通过列表理解-

result = [val for i in l for val in i.values()]

感谢大家和@kaya3!

[x for d in list_of_dicts for x in d.values()]