【问题标题】:Create a single list of values from from a list of dictionary using list comprehension in python使用python中的列表推导从字典列表中创建单个值列表
【发布时间】:2020-08-26 16:54:27
【问题描述】:

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

谁能帮帮我

【问题讨论】:

  • 我仍然无法理解您如何将相同的键分配给字典中的不同值,或者尝试使用默认字典来分配键:)

标签: python list-comprehension


【解决方案1】:

这样做:

final_list = [name for name_dict in name_list for name in name_dict["a"]]

【讨论】:

    【解决方案2】:
    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']

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2021-05-01
        • 2016-02-04
        • 2022-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-24
        • 1970-01-01
        相关资源
        最近更新 更多