A veces, mientras trabajamos con tuplas de Python, podemos tener un problema en el que necesitamos realizar emparejamientos de índices similares. Este tipo de problema es peculiar, pero puede ocurrir en ciertos dominios. Vamos a discutir cierta forma en que se puede realizar esta tarea.
Entrada :
test_list1 = [(5, ), (1, ), (8, ), (10, )]
test_list2 = [(8, ), (1, ), (11, ), (9, )]
Salida : [[(5, 8)], [(1, 1)], [(8, 11)], [(10, 9)]]Entrada :
test_list1 = [(5, 6, 7, 6)]
test_list2 = [(8, 6, 7, 9)]
Salida : [[(5, 8), (6, 6), (7, 7), (6, 9)]]
Método: Usar la comprensión de listas +zip()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de comprimir elementos de índice similares usando zip() y se usa la comprensión de listas para compilar todos los pares.
# Python3 code to demonstrate working of # Similar index pairs in Tuple lists # Using list comprehension + zip() # initializing lists test_list1 = [(5, 6), (1, 2), (8, 9), (10, 33)] test_list2 = [(8, 7), (1, 3), (11, 23), (9, 4)] # printing original list print("The original list 1 is : " + str(test_list1)) print("The original list 2 is : " + str(test_list2)) # Similar index pairs in Tuple lists # Using list comprehension + zip() res = [list(zip(a, b)) for a, b in zip(test_list1, test_list2)] # printing result print("The paired tuples : " + str(res))
The original list 1 is : [(5, 6), (1, 2), (8, 9), (10, 33)] The original list 2 is : [(8, 7), (1, 3), (11, 23), (9, 4)] The paired tuples : [[(5, 8), (6, 7)], [(1, 1), (2, 3)], [(8, 11), (9, 23)], [(10, 9), (33, 4)]]
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