Dada una lista de números, la tarea es encontrar el mayor número posible de los elementos dados en la lista.
Este es uno de los problemas que es esencial desde el punto de vista competitivo y este artículo analiza varias formas abreviadas para resolver este problema en Python. Analicemos ciertas formas en que se puede resolver este problema.
Método #1: Uso sorted() + lambda
La combinación de la función anterior se puede utilizar para realizar esta tarea. La función sorted realiza el orden inverso de los índices de lista convertidos en strings y las funciones lambda manejan la operación de conversión e iteración.
# Python code to demonstrate # largest possible number in list # using sorted() + lambda from functools import cmp_to_key # initializing list test_list = [23, 65, 98, 3, 4] # printing original list print ("The original list is : " + str(test_list)) # using sorted() + lambda # largest possible number in list res = sorted(test_list, key = cmp_to_key(lambda i, j: -1 if str(j) + str(i) < str(i) + str(j) else 1)) # printing result print ("The largest possible number : " + ''.join(map(str,res)))
The original list is : [23, 65, 98, 3, 4] The largest possible number : 98654323
Método n.º 2: usar itertools.permutation()
+join() + max()
La itertools.permutation se puede usar para obtener una posible permutación y la función max elige el máximo después de convertirla en un número entero como resultado de la salida combinada dada por la función de combinación.
# Python3 code to demonstrate # largest possible number in list # using itertools.permutation() + join() + max() from itertools import permutations # initializing list test_list = [23, 65, 98, 3, 4] # printing original list print ("The original list is : " + str(test_list)) # using itertools.permutation() + join() + max() # largest possible number in list res = int(max((''.join(i) for i in permutations(str(i) for i in test_list)), key = int)) # printing result print ("The largest possible number : " + str(res))
The original list is : [23, 65, 98, 3, 4] The largest possible number : 98654323
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