Tengo una lista de diccionarios, y necesito obtener una lista de los valores de una clave dada del diccionario (todos los diccionarios tienen la misma clave).
Por ejemplo, tengo:
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' } ]
Necesito obtener 1, 2, 3.
Por supuesto, puedo conseguirlo con:
v=[]
for i in l:
v.append(i['key'])
Pero me gustaría obtener una mejor manera de hacerlo.
Respuestas:1 Respuesta 1
Tiempo:hace 8 años, 1 mes
Última modificación:hace 3 años, 2 meses
Solución
Usando una comprensión de lista simple (si está seguro de que cada diccionario tiene la clave):
In [10]: [d['key'] for d in l]
Out[10]: [1, 2, 3]
De lo contrario, primero deberá verificar la existencia:
In [11]: [d['key'] for d in l if 'key' in d]
Out[11]: [1, 2, 3]