Python | Obtener todas las substrings de una string dada

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

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

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

Deja una respuesta

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