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))
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))
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