Python: conserva los valores de índice de coincidencia de K de otra lista

A veces, mientras trabajamos con listas de Python, podemos tener un problema en el que necesitamos retener solo las strings que coinciden con un valor particular de la lista correspondiente en el mismo índice. Esto puede tener aplicación en muchos dominios. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso de la comprensión de listas +zip()
La combinación de las funcionalidades anteriores se puede utilizar para realizar esta tarea. En esto, extraemos la lista después de comprimir selectivamente tanto la lista que coincide con K.

# Python3 code to demonstrate 
# Retain K match index values from other list
# using zip() + list comprehension
  
# Initializing lists
test_list1 = ['Gfg', 'is', 'best', 'for', 'Geeks', 'and', 'CS']
test_list2 = [4, 1, 4, 3, 4, 2, 4]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Initializing K 
K = 4
  
# Group elements from Dual List Matrix
# using zip() + list comprehension
res = [x for x, y in zip(test_list1, test_list2) if y == K]
              
# printing result 
print ("The filtered list : " + str(res))
Producción :

La lista original 1 es: [‘Gfg’, ‘is’, ‘best’, ‘for’, ‘Geeks’, ‘and’, ‘CS’]
La lista original 2 es: [4, 1, 4, 3, 4, 2, 4]
La lista filtrada: [‘Gfg’, ‘best’, ‘Geeks’, ‘CS’]

Método #2: Uso compress()de la comprensión de listas +
Esta es otra forma en la que se puede realizar esta tarea. En esto, usamos compress() en lugar de zip() para resolver el problema.

# Python3 code to demonstrate 
# Retain K match index values from other list
# using compress + list comprehension
from itertools import compress
  
# Initializing lists
test_list1 = ['Gfg', 'is', 'best', 'for', 'Geeks', 'and', 'CS']
test_list2 = [4, 1, 4, 3, 4, 2, 4]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Initializing K 
K = 4
  
# Group elements from Dual List Matrix
# using compress + list comprehension
res = list(compress(test_list1, map(lambda ele: ele == K, test_list2)))
              
# printing result 
print ("The filtered list : " + str(res))
Producción :

La lista original 1 es: [‘Gfg’, ‘is’, ‘best’, ‘for’, ‘Geeks’, ‘and’, ‘CS’]
La lista original 2 es: [4, 1, 4, 3, 4, 2, 4]
La lista filtrada: [‘Gfg’, ‘best’, ‘Geeks’, ‘CS’]

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 *