Dada una string, la tarea es escribir un programa en Python para encontrar todas las combinaciones de substrings superpuestas de una string y almacenarlas en una lista. La lista de listas se ordenará y agrupará por la longitud de las substrings.
Entrada: test_str = ‘Geeks4G’
Salida: [[”, ”, ”, ”, ”, ”, ”, ”], [‘G’, ‘e’, ’e’, ’k’, ‘s’, ‘4’, ‘G’] , [‘Ge’, ‘ee’, ‘ek’, ‘ks’, ‘s4’, ‘4G’], [‘Gee’, ‘eek’, ‘eks’, ‘ks4’, ‘s4G’], [ ‘Geek’, ‘eeks’, ‘eks4’, ‘ks4G’], [‘Geeks’, ‘eeks4’, ‘eks4G’], [‘Geeks4’, ‘eeks4G’], [‘Geeks4G’]]
Explicación : se extrajeron todas las substrings superpuestas de todas las longitudes.
Entrada: test_str = ‘Geeks’
Salida: [[”, ”, ”, ”, ”, ”], [‘G’, ‘e’, ’e’, ’k’, ‘s’], [‘Ge’, ‘ee’, ‘ek ‘, ‘ks’], [‘Gee’, ‘eek’, ‘eks’], [‘Geek’, ‘eeks’], [‘Geeks’]]
Explicación: se extrajeron todas las substrings superpuestas de todas las longitudes.
Método: Uso de comprensión de lista , corte y bucle
En esto, realizamos la tarea de obtener cada segmento utilizando el corte, todas las strings de un tamaño particular se crean mediante la comprensión de listas. La manipulación de todos los tamaños se realiza mediante bucle. Más tarde, todos se imprimen como una lista de listas.
Ejemplo:
Python3
# Python3 code to demonstrate working of # Overlapping substrings of all lengths # Using list comprehension + slicing + loop # initializing string test_str = 'Geeks4G' # printing original string print("The original string is : " + str(test_str)) # manipulating overlap size using loop res = [] for idx in range(len(test_str) + 1): # getting overlap strings res.append([test_str[j: j + idx] for j in range(len(test_str) - idx + 1)]) # printing result print("All overlapping Strings : " + str(res))
Producción:
La string original es: Geeks4G
Todas las strings superpuestas: [[”, ”, ”, ”, ”, ”, ”, ”], [‘G’, ‘e’, ’e’, ’k’, ‘s’, ‘4’, ‘G ‘], [‘Ge’, ‘ee’, ‘ek’, ‘ks’, ‘s4’, ‘4G’], [‘Gee’, ‘eek’, ‘eks’, ‘ks4’, ‘s4G’] , [‘Geek’, ‘eeks’, ‘eks4’, ‘ks4G’], [‘Geeks’, ‘eeks4’, ‘eks4G’], [‘Geeks4’, ‘eeks4G’], [‘Geeks4G’]]
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