Python: valores de la lista personalizada en registros

A veces, mientras trabajamos con registros de Python, podemos tener un problema en el que necesitamos extraer todos los valores de la lista personalizada en los registros del diccionario de listas. Este problema puede tener aplicación en dominios como el desarrollo web y la programación escolar. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada :
test_list = [{‘nombre’: ‘Gfg’, ‘id’: 1, ‘Puntuación’: 3}, {‘nombre’: ‘es’, ‘id’: 4, ‘Puntuación’: 10},
{ ‘nombre’: ‘Mejor’, ‘Puntuación’: 12}]
get_list = [‘nombre’]
Salida : [[‘Gfg’], [‘es’], [‘Mejor’]]

Entrada :
test_list = [{‘nombre’: ‘Gfg’, ‘id’: 1, ‘Puntuación’: 3}, {‘nombre’: ‘es’, ‘id’: 4, ‘Puntuación’: 10},
{ ‘nombre’: ‘Mejor’, ‘Puntuación’: 12}]
get_list = [‘Serial’]
Salida : [[Ninguno], [Ninguno], [Ninguno]]

Método n.º 1: usar la comprensión de listas +get()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de iterar a través de cada diccionario usando la comprensión de listas y get() se usa para obtener valores del diccionario y también manejar valores no presentes.

# Python3 code to demonstrate working of 
# Values from custom List in Records
# Using list comprehension + get()
  
# initializing list
test_list = [{'name' : 'Gfg', 'id' : 1, 'Score' : 3},
             {'name' : 'is', 'id' : 4, 'Score' : 10},
             {'name' : 'Best', 'Score' : 12}]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing Get list 
get_list = ['name', 'id']
  
# Values from custom List in Records
# Using list comprehension + get()
res = [list(idx.get(sub) for sub in get_list) for idx in test_list]
  
# printing result 
print("All extracted values : " + str(res))
Producción :

The original list : [{'name': 'Gfg', 'id': 1, 'Score': 3}, {'name': 'is', 'id': 4, 'Score': 10}, {'name': 'Best', 'Score': 12}]
All extracted values : [['Gfg', 1], ['is', 4], ['Best', None]]

Método n.º 2: usar la comprensión de listas +itemgetter() + intersection()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, usamos itemgetter() e intersection() para obtener el valor comprobando tanto la lista de objetivos como la lista de argumentos. No se pueden manejar las claves no presentes.

# Python3 code to demonstrate working of 
# Values from custom List in Records
# Using list comprehension + itemgetter() + intersection()
from operator import itemgetter
  
# initializing list
test_list = [{'name' : 'Gfg', 'id' : 1, 'Score' : 3},
             {'name' : 'is', 'id' : 4, 'Score' : 10}]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing Get list 
get_list = ['name', 'id']
  
# Values from custom List in Records
# Using list comprehension + itemgetter() + intersection()
res = [list(itemgetter(*set(get_list).intersection(idx))(idx)) for idx in test_list]
  
# printing result 
print("All extracted values : " + str(res))
Producción :

The original list : [{'name': 'Gfg', 'id': 1, 'Score': 3}, {'name': 'is', 'id': 4, 'Score': 10}]
All extracted values : [[1, 'Gfg'], [4, 'is']]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *