【问题标题】:Get a list of values from a list of dictionaries?从字典列表中获取值列表?
【发布时间】:2014-07-30 15:30:10
【问题描述】:

我有一个字典列表,我需要从字典中的给定键中获取值的列表(所有字典都有相同的键)。

例如,我有:

l = [ { "key": 1, "Val1": 'val1 from element 1', "Val2": 'val2 from element 1' }, 
      { "key": 2, "Val1": 'val1 from element 2', "Val2": 'val2 from element 2' }, 
      { "key": 3, "Val1": 'val1 from element 3', "Val2": 'val2 from element 3' } ]

我需要得到 1、2、3。

当然,我可以得到它:

v=[]
for i in l:
    v.append(i['key'])

但我想要一个更好的方法来做到这一点。

【问题讨论】:

  • 他们肯定都有钥匙吗?

标签: python list dictionary


【解决方案1】:

使用简单的list comprehension(如果您确定每个字典都有密钥):

In [10]: [d['key'] for d in l]
Out[10]: [1, 2, 3]

否则你需要先检查是否存在:

In [11]: [d['key'] for d in l if 'key' in d]
Out[11]: [1, 2, 3]

【讨论】:

  • 一行...或更少;)
  • 这就是我一直在寻找的,在一行上做。将测试它,谢谢。
猜你喜欢
  • 2011-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
相关资源
最近更新 更多