Dado un carácter K, agregue a cada índice y todas las combinaciones de longitudes.
Entrada : test_str = ‘gfg’, K = ‘$’
Salida : [‘gfg’, ‘gf$’, ‘g$g’, ‘g$$’, ‘$fg’, ‘$f$’, ‘$$g’, ‘$$$’]
Explicación : todos los pares posibles con ocurrencias de reemplazo.Entrada : test_str = ‘gfg’, K = ‘*’
Salida : [‘gfg’, ‘gf*’, ‘g*g’, ‘g**’, ‘*fg’, ‘*f*’, ‘* *g’, ‘***’]
Explicación : todos los pares posibles con ocurrencias de reemplazo.
Método #1: Usar loop + zip() + join() + product()
En esto, la tarea de formar una combinación se realiza usando product(), loop se usa para la iteración de elementos, join() se usa para obtener el resultado deseado y zip() se usa para combinar cada producto extraído con la string original.
Python3
# Python3 code to demonstrate working of # All Position Character Combination # Using loop + zip() + join() + product() import itertools # initializing strings test_str = 'gfg' # printing original string print("The original string is : " + str(test_str)) # initializing K K = "$" res = [] # True and false represent Character from String and K respectively. for sub in itertools.product((True, False), repeat = len(test_str)): res.append("".join(chr if ele else K for chr, ele in zip(test_str, sub))) # printing result print("The required Combinations : " + str(res))
The original string is : gfg The required Combinations : ['gfg', 'gf$', 'g$g', 'g$$', '$fg', '$f$', '$$g', '$$$']
Método #2: Usar la comprensión de listas
Esto es similar al método anterior, la única diferencia es que es una forma abreviada de toda la funcionalidad en una sola línea.
Python3
# Python3 code to demonstrate working of # All Position Character Combination # Using list comprehension import itertools # initializing strings test_str = 'abc' # printing original string print("The original string is : " + str(test_str)) # initializing K K = "$" # one liner to perform this task res = ["".join(chr if ele else K for chr, ele in zip(test_str, sub)) \ for sub in itertools.product((True, False), repeat = len(test_str))] # printing result print("The required Combinations : " + str(res))
The original string is : abc The required Combinations : ['abc', 'ab$', 'a$c', 'a$$', '$bc', '$b$', '$$c', '$$$']
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