A veces, nos encontramos con un problema en el que tratamos con un tipo complejo de maximización de columna de array en el que se nos da una tupla y necesitamos realizar la maximización de sus elementos similares. Esto tiene una buena aplicación en el dominio de Machine Learning. Vamos a discutir ciertas formas en que esto se puede hacer.
Método n.º 1: Uso zip()
de la comprensión de listas +
Este problema se puede resolver utilizando la comprensión de listas que podría realizar la lógica de maximización de columnas y la función zip se usa para vincular los elementos como resultado y también en el momento de la maximización vertical.
# Python3 code to demonstrate # Maximize Column in Records List # using list comprehension + zip() # initializing list test_list = [[(1, 4), (2, 3), (5, 2)], [(3, 7), (1, 9), (10, 5)]] # printing original list print("The original list : " + str(test_list)) # using list comprehension + zip() # Maximize Column in Records List res = [tuple(max(j) for j in zip(*i)) for i in zip(*test_list)] # print result print("The maximization of columns of tuple list : " + str(res))
The original list : [[(1, 4), (2, 3), (5, 2)], [(3, 7), (1, 9), (10, 5)]] The maximization of columns of tuple list : [(3, 7), (2, 9), (10, 5)]
Método n.º 2: usozip() + map()
La tarea de vincular los elementos de la columna también se puede realizar mediante la función map y la función zip realiza la tarea de vincular las tuplas maximizadas. Ambas lógicas ligadas por comprensión de listas.
# Python3 code to demonstrate # Maximize Column in Records List # using zip() + map() # initializing list test_list = [[(1, 4), (2, 3), (5, 2)], [(3, 7), (1, 9), (10, 5)]] # printing original list print("The original list : " + str(test_list)) # using zip() + map() # Maximize Column in Records List res = [tuple(map(max, zip(*i))) for i in zip(*test_list)] # print result print("The maximization of columns of tuple list : " + str(res))
The original list : [[(1, 4), (2, 3), (5, 2)], [(3, 7), (1, 9), (10, 5)]] The maximization of columns of tuple list : [(3, 7), (2, 9), (10, 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