Programa de Python para mover números al final de la string

Dada una string, la tarea es escribir un programa en Python para mover todos los números hasta el final.

Ejemplos:

Entrada : test_str = ‘geek2eeks4g1eek5sbest6forall9’ 
Salida : geekeeksgeeksbestforall241569 
Explicación : todos los números se mueven al final.

Entrada : test_str = ‘geekeeksg1eek5sbest6forall9’ 
Salida : geekeeksgeeksbestforall1569 
Explicación : todos los números se mueven al final. 
 

Método 1: Usar isdigit() y loop

En esto, verificamos elementos y dígitos usando isdigit(), haciendo un seguimiento de todos los números y agregando al final de la iteración posterior de la string.

Python3

# initializing string
test_str = 'geek2eeks4g1eek5sbest6forall9'
 
# printing original string
print("The original string is : " + str(test_str))
 
# getting all numbers and removing digits
res = ''
dig = ''
for ele in test_str:
    if ele.isdigit():
        dig += ele
    else:
        res += ele
 
# adding digits at end
res += dig
 
# printing result
print("Strings after digits at end : " + str(res))

Producción:

La string original es: geek2eeks4g1eek5sbest6forall9

Strings después de los dígitos al final: geekeeksgeeksbestforall241569

Método 2: Usando join() 

En este, realizamos la tarea de extraer dígitos e ignorarlos usando comprensiones separadas y luego unir ambas. Al final, la string de dígitos se une al final de la string real.

Python3

# initializing string
test_str = 'geek2eeks4g1eek5sbest6forall9'
 
# printing original string
print("The original string is : " + str(test_str))
 
# getting all numbers
dig = ''.join(ele for ele in test_str if ele.isdigit())
 
# getting all elements not digit
res = ''.join(ele for ele in test_str if not ele.isdigit())
 
# adding digits at end
res += dig
 
# printing result
print("Strings after digits at end : " + str(res))

Producción:

La string original es: geek2eeks4g1eek5sbest6forall9

Strings después de los dígitos al final: geekeeksgeeksbestforall241569

Método 3: Sin utilizar ningún método integrado.

Python3

# initializing string
test_str = 'geek2eeks4g1eek5sbest6forall9'
 
# printing original string
print("The original string is : " + str(test_str))
 
digits="0123456789"
 
# getting all numbers and removing digits
res = ''
dig = ''
for ele in test_str:
    if ele in digits:
        dig += ele
    else:
        res += ele
 
# adding digits at end
res += dig
 
# printing result
print("Strings after digits at end : " + str(res))
Producción

The original string is : geek2eeks4g1eek5sbest6forall9
Strings after digits at end : geekeeksgeeksbestforall241569

La complejidad de tiempo y espacio para todos los métodos es la misma:

Complejidad de tiempo: O(n)

Complejidad espacial: O(n)

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 *