【问题标题】:List of dicts unable to extract values using list comprehension [duplicate]无法使用列表理解提取值的字典列表 [重复]
【发布时间】:2018-03-20 22:29:45
【问题描述】:

我有一个这样的列表:

l1 = [{'a': 123, 'b': 128}, {'a': 998, 'b': 345}]

我想创建另一个仅包含 a 值的列表: 示例:

[123,998]

我试试这个:

[x,i for x in l1[i]]

但我得到一个错误。然后我试试这个:

[x for x in l1[x]]

还有这个:

[x[0] for x in l1]

但什么都没有。我无法创建预期的最终结果。

【问题讨论】:

  • 使用字典时,您需要使用键名而不是索引来访问键的值。

标签: python list dictionary list-comprehension


【解决方案1】:

您可以遍历l1 并从每个元素访问'a'

l1 = [{'a': 123, 'b': 128}, {'a': 998, 'b': 345}]
a_list = [i['a'] for i in l1]

输出:

[123, 998]

【讨论】:

    【解决方案2】:

    这是实现目标的明确方式

    l1 = [{'a': 123, 'b': 128}, {'a': 998, 'b': 345}]
    
    alist = []
    for dic in l1:
           alist.append(dic['a'])
    
    print(alist)
    

    遍历字典列表并将键 a 添加到新列表

    【讨论】:

      猜你喜欢
      • 2019-04-05
      • 2021-05-09
      • 2011-07-19
      • 1970-01-01
      • 2016-08-01
      • 2019-03-14
      • 2020-11-12
      • 2016-09-24
      • 2018-05-15
      相关资源
      最近更新 更多