使用python中的列表理解从字典列表中创建一个值列表

问题描述

我的字典清单如下:
name_list = [{'a':['alice','bob']},{'a':[]},{'a':['sam','alex']},{'a':[]}]

我想要使用python列表理解功能的最终列表如下:
['alice','bob','sam','alex']

我尝试做
for name in name_list:
final_list = [value for key,value in name.items() if len(value)>0]

有人可以帮我吗

解决方法

只需执行以下操作:

final_list = [name for name_dict in name_list for name in name_dict["a"]]
,
name_list = [{'a':['alice','bob']},{'a':[]},{'a':['sam','alex']},{'a':[]}]

my_list = [i for x in name_list for i in x['a']] 

这是您的列表理解。因此您的列表将等于x ['a']

中i的名称列表中的x ,

您可以尝试一下。这是一个列表理解的例子。

[l for i in name_list for j,k in i.items() for l in k if len(k)>0]