Programa Python para extraer elementos de la lista con dígitos en orden creciente

Dada la Lista de elementos, extraiga todos los elementos que tengan dígitos que aumenten en orden.

Entrada : test_list = [1234, 7373, 3643, 3527, 148, 49] 
Salida : [1234, 148, 49] 
Explicación : Todos los elementos tienen dígitos crecientes.
Entrada : test_list = [12341, 7373, 3643, 3527, 1481, 491] 
Salida : [] 
Explicación : ningún elemento tiene todos los dígitos crecientes. 

Método 1: Usar loop y str()

En esto, convertimos cada elemento en string y luego verificamos si cada dígito es mayor que el anterior usando bucle.

Python3

# initializing list
test_list = [1234, 7373, 3643, 3527, 148]
  
# printing original list
print("The original list is : " + str(test_list))
  
# loop to check for each element
res = []
for ele in test_list:
    flag = True
      
    for idx in range(len(str(ele)) - 1):
          
        # checking for each next digit
        if str(ele)[idx + 1] <= str(ele)[idx]:
            flag = False
      
    if flag:
        res.append(ele)
          
# printing result 
print("Extracted increasing digits : " + str(res))

Producción:

The original list is : [1234, 7373, 3643, 3527, 148]
Extracted increasing digits : [1234, 148]

Método 2: Usar sorted() , lista de comprensión y str()

En esto, probamos que cada dígito de un elemento aumente clasificando cada elemento y comparándolo con la versión original. Si son iguales, el elemento se agrega a la lista deseada.

Python3

# initializing list
test_list = [1234, 7373, 3643, 3527, 148]
  
# printing original list
print("The original list is : " + str(test_list))
  
# sorting and comparing for equality
res = [ele for ele in test_list if ''.join(sorted(str(ele))) == str(ele)]
          
# printing result 
print("Extracted increasing digits : " + str(res))

Producción:

The original list is : [1234, 7373, 3643, 3527, 148]
Extracted increasing digits : [1234, 148]

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 *