无法使用列表推导提取值的词典列表

时间:2018-03-20 22:29:46

标签: python list dictionary list-comprehension

我有一个像这样的列表:

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]

但没有。我无法创造预期的最终结果。

2 个答案:

答案 0 :(得分:5)

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

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

输出:

[123, 998]

答案 1 :(得分:2)

这是实现目标的明确方式

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

alist = []
for dic in l1:
       alist.append(dic['a'])

print(alist)

遍历字典列表并将密钥a附加到新列表