A veces, mientras trabajamos con registros de Python, podemos tener un problema en el que necesitamos realizar una maximización cruzada de la lista de tuplas. Este tipo de aplicación es popular en el dominio del desarrollo web. 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 particular. En esto, iteramos a través de la lista usando la comprensión de listas y la maximización a través de las listas se realiza con la ayuda de zip().
# Python3 code to demonstrate working of # Maximum of Tuple List Similar Indices # using list comprehension + zip() # initialize lists test_list1 = [(2, 4), (6, 7), (5, 1)] test_list2 = [(5, 4), (8, 10), (8, 14)] # printing original lists print("The original list 1 : " + str(test_list1)) print("The original list 2 : " + str(test_list2)) # Maximum of Tuple List Similar Indices # using list comprehension + zip() res = [(max(x[0], y[0]), max(x[1], y[1])) for x, y in zip(test_list1, test_list2)] # printing result print("The Maximum across lists is : " + str(res))
The original list 1 : [(2, 4), (6, 7), (5, 1)] The original list 2 : [(5, 4), (8, 10), (8, 14)] The Maximum across lists is : [(5, 4), (8, 10), (8, 14)]
Método n.º 2: usarmax() + zip() + map()
Esto es otra forma más de realizar esta tarea. Esto es similar al método anterior, la diferencia es que la maximización se realiza mediante una función incorporada y la extensión de la lógica a cada elemento se realiza mediante map().
# Python3 code to demonstrate working of # Maximum of Tuple List Similar Indices # using max() + zip() + map() # initialize lists test_list1 = [(2, 4), (6, 7), (5, 1)] test_list2 = [(5, 4), (8, 10), (8, 14)] # printing original lists print("The original list 1 : " + str(test_list1)) print("The original list 2 : " + str(test_list2)) # Maximum of Tuple List Similar Indices # using max() + zip() + map() res = [tuple(map(max, zip(a, b))) for a, b in zip(test_list1, test_list2)] # printing result print("The Maximum across lists is : " + str(res))
The original list 1 : [(2, 4), (6, 7), (5, 1)] The original list 2 : [(5, 4), (8, 10), (8, 14)] The Maximum across lists is : [(5, 4), (8, 10), (8, 14)]
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