A veces, mientras trabajamos con registros de Python, podemos tener un problema en el que necesitamos realizar un mínimo cruzado 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: usar la comprensión de listas +zip() + min()
La combinación de las funcionalidades anteriores se puede usar para realizar esta tarea en particular. En esto, iteramos a través de la lista usando la comprensión de listas y el mínimo a través de las listas se realiza con la ayuda de zip(). El mínimo se realiza usando min().
# Python3 code to demonstrate working of # List of tuples Minimum # using list comprehension + zip() + min() # 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)) # List of tuples Minimum # using list comprehension + zip() + min() res = [(min(x[0], y[0]), min(x[1], y[1])) for x, y in zip(test_list1, test_list2)] # printing result print("The Minimum 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 Minimum across lists is : [(2, 4), (6, 7), (5, 1)]
Método n.º 2: usarmin() + zip() + map()
Esto es otra forma más de realizar esta tarea. Esto es similar al método anterior, la diferencia es que el mínimo 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 # List of tuples Minimum # using min() + 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)) # List of tuples Minimum # using min() + zip() + map() res = [tuple(map(min, zip(a, b))) for a, b in zip(test_list1, test_list2)] # printing result print("The Minimum 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 Minimum across lists is : [(2, 4), (6, 7), (5, 1)]
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