从Python中的词典列表中获取值列表?

Jes*_*ter 7 python dictionary list

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

例如,我有:

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' } ]
Run Code Online (Sandbox Code Playgroud)

我需要得到1分,2分,3分.

当然,我可以得到它:

v=[]
for i in l:
    v.append(i['key'])
Run Code Online (Sandbox Code Playgroud)

但我想有一个更好的方法来做到这一点.

vau*_*tah 11

使用简单的列表理解(如果你确定每个字典都有密钥):

In [10]: [d['key'] for d in l]
Out[10]: [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

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

In [11]: [d['key'] for d in l if 'key' in d]
Out[11]: [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)