1

我有一个字典列表如下:
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]

有人可以帮帮我吗

4

3 回答 3

0
name_list = [{'a':['alice', 'bob']},{'a':[]},{'a':['sam','alex']}, {'a':[]}]

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

这是您的列表理解。所以你的列表将等于 i for x in name list for i in x['a']

于 2020-08-26T17:19:41.550 回答
0

你可以试试这个。这是列表理解的一个例子。

[l for i in name_list for j, k in i.items() for l in k if len(k)>0]
于 2020-08-26T17:20:32.683 回答
0

只需这样做:

final_list = [name for name_dict in name_list for name in name_dict["a"]]
于 2020-08-26T17:14:30.667 回答