Python | El mayor número posible de la lista de números dados

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)))
Producción:

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))
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *