Hay muchos problemas en los que necesitamos obtener todas las substrings de una string. Esta utilidad en particular es muy popular en la programación competitiva y tener atajos para resolver este problema siempre puede ser útil. Analicemos ciertas formas en que se puede resolver este problema.
Método n.º 1: Uso de la comprensión de listas + división de strings
La combinación de comprensión de listas y división de strings se puede utilizar para realizar esta tarea en particular. Este es solo un método de fuerza bruta para realizar esta tarea.
# Python3 code to demonstrate working of # Get all substrings of string # Using list comprehension + string slicing # initializing string test_str = "Geeks" # printing original string print("The original string is : " + str(test_str)) # Get all substrings of string # Using list comprehension + string slicing res = [test_str[i: j] for i in range(len(test_str)) for j in range(i + 1, len(test_str) + 1)] # printing result print("All substrings of string are : " + str(res))
La string original es: Geeks
Todas las substrings de la string son: [‘G’, ‘Ge’, ‘Gee’, ‘Geek’, ‘Geeks’, ‘e’, ’ee’, ‘eek’, ‘eeks’, ‘ e’, ‘ek’, ‘eks’, ‘k’, ‘ks’, ‘s’]
Método #2: Usaritertools.combinations()
Esta tarea en particular también se puede realizar usando la función incorporada de combinaciones, que ayuda a obtener todas las combinaciones posibles, es decir, las substrings de una string.
# Python3 code to demonstrate working of # Get all substrings of string # Using itertools.combinations() from itertools import combinations # initializing string test_str = "Geeks" # printing original string print("The original string is : " + str(test_str)) # Get all substrings of string # Using itertools.combinations() res = [test_str[x:y] for x, y in combinations( range(len(test_str) + 1), r = 2)] # printing result print("All substrings of string are : " + str(res))
La string original es: Geeks
Todas las substrings de la string son: [‘G’, ‘Ge’, ‘Gee’, ‘Geek’, ‘Geeks’, ‘e’, ’ee’, ‘eek’, ‘eeks’, ‘ e’, ‘ek’, ‘eks’, ‘k’, ‘ks’, ‘s’]
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