Python | Selección selectiva de valores en la lista de tuplas

A veces, al usar la lista de tuplas, nos encontramos con un problema en el que tenemos una determinada lista de claves y solo necesitamos el valor de esas claves de la lista de tuplas. Esto tiene una utilidad en la calificación o suma de entidades específicas. Vamos a discutir ciertas formas en que esto se puede hacer.

Método n.° 1: Uso dict() + get()de la comprensión de listas +
Podemos realizar esta tarea en particular primero, convirtiendo la lista en el diccionario y luego empleando la comprensión de listas para obtener el valor de claves específicas usando la función get.

# Python3 code to demonstrate  
# Selective Value selection in list of tuples
# using dict() + get() + list comprehension
  
# initializing list of tuples 
test_list = [('Nikhil', 1), ('Akash', 2), ('Akshat', 3), ('Manjeet', 4)]
  
# initializing selection list 
select_list = ['Nikhil', 'Akshat']
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# printing selection list 
print ("The selection list is : " + str(select_list))
  
# using dict() + get() + list comprehension
# Selective Value selection in list of tuples
temp = dict(test_list)
res = [temp.get(i, 0) for i in select_list]
  
# printing result
print ("The selective values of keys : " + str(res))
Producción :

La lista original es: [(‘Nikhil’, 1), (‘Akash’, 2), (‘Akshat’, 3), (‘Manjeet’, 4)]
La lista de selección es: [‘Nikhil’, ‘Akshat ‘]
Los valores selectivos de las claves: [1, 3]

Método n.º 2: Uso next()de la comprensión de listas +
Este problema en particular se puede resolver mediante la siguiente función, que realiza la iteración mediante los iteradores y, por lo tanto, es una forma más eficiente de lograr una posible solución.

# Python3 code to demonstrate  
# Selective Value selection in list of tuples
# using next() + list comprehension
  
# initializing list of tuples 
test_list = [('Nikhil', 1), ('Akash', 2), ('Akshat', 3), ('Manjeet', 4)]
  
# initializing selection list 
select_list = ['Nikhil', 'Akshat']
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# printing selection list 
print ("The selection list is : " + str(select_list))
  
# using next() + list comprehension
# Selective Value selection in list of tuples
res = [next((sub[1] for sub in test_list 
       if sub[0] == i), 0) for i in select_list]
  
# printing result
print ("The selective values of keys : " + str(res))
Producción :

La lista original es: [(‘Nikhil’, 1), (‘Akash’, 2), (‘Akshat’, 3), (‘Manjeet’, 4)]
La lista de selección es: [‘Nikhil’, ‘Akshat ‘]
Los valores selectivos de las claves: [1, 3]

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 *