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))
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