A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos emparejar cada elemento en el contenedor con un elemento de índice específico, como el elemento trasero. Este tipo de problema puede tener aplicación en muchos dominios. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Uso de la comprensión de listas
Esta es una forma en la que se puede realizar esta tarea. En esto, iteramos a través de cada elemento de la fila en la lista y lo emparejamos con el elemento trasero usando la indexación negativa de la lista.
# Python3 code to demonstrate # Pair elements with Rear element in Matrix Row # using list comprehension # Initializing list test_list = [[4, 5, 6], [2, 4, 5], [6, 7, 5]] # printing original list print("The original list is : " + str(test_list)) # Pair elements with Rear element in Matrix Row # using list comprehension res = [] for sub in test_list: res.append([[ele, sub[-1]] for ele in sub[:-1]]) # printing result print ("The list after pairing is : " + str(res))
The original list is : [[4, 5, 6], [2, 4, 5], [6, 7, 5]] The list after pairing is : [[[4, 6], [5, 6]], [[2, 5], [4, 5]], [[6, 5], [7, 5]]]
Método n.º 2: usar el product()
bucle +
La combinación de los métodos anteriores también se puede usar para realizar esta tarea. En esto, iteramos a través de la lista y realizamos la tarea de emparejar usando el producto y, por lo tanto, reduciendo un par de bucles.
# Python3 code to demonstrate # Pair elements with Rear element in Matrix Row # using product() + loop from itertools import product # Initializing list test_list = [[4, 5, 6], [2, 4, 5], [6, 7, 5]] # printing original list print("The original list is : " + str(test_list)) # Pair elements with Rear element in Matrix Row # using product() + loop res = [] for idx in test_list: res.append(list(product(idx[:-1], [idx[-1]]))) # printing result print ("The list after pairing is : " + str(res))
The original list is : [[4, 5, 6], [2, 4, 5], [6, 7, 5]] The list after pairing is : [[[4, 6], [5, 6]], [[2, 5], [4, 5]], [[6, 5], [7, 5]]]
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