Python | Encuentra combinaciones mixtas de string y lista

A veces, mientras trabajamos con Python, podemos tener un problema en el que necesitamos hacer combinaciones de strings y listas de caracteres. Este tipo de problema puede venir en dominios en los que necesitamos intercalar los datos. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso de bucle +enumerate() + replace()
Esta tarea se puede realizar mediante una combinación de las funciones anteriores. En esto, solo iteramos cada elemento de la lista de caracteres e insertamos cada combinación usando la fuerza bruta.

# Python3 code to demonstrate working of
# Mixed Combinations of string and list
# using loop + enumerate() + replace()
  
# initialize list and string 
test_list = ["a", "b", "c"]
test_str = "gfg"
  
# printing original list and string
print("The original list : " + str(test_list))
print("The original string : " + test_str)
  
# Mixed Combinations of string and list
# using loop + enumerate() + replace()
res = []
for idx, ele in enumerate(test_str):
    res += [test_str[ : idx] + test_str[idx : ].replace(ele, k, 1)
            for k in test_list]
  
# printing result
print("The list after mixed Combinations : " + str(res))
Producción :

La lista original: [‘a’, ‘b’, ‘c’]
La string original: gfg
La lista después de combinaciones mixtas: [‘afg’, ‘bfg’, ‘cfg’, ‘gag’, ‘gbg’, ‘ gcg’, ‘gfa’, ‘gfb’, ‘gfc’]

Método n.° 2: Uso de la comprensión de listas
La funcionalidad anterior se puede usar para realizar esta tarea. En esto, proporcionamos una alternativa de una línea utilizando la comprensión.

# Python3 code to demonstrate working of
# Mixed Combinations of string and list
# using list comprehension
  
# initialize list and string 
test_list = ["a", "b", "c"]
test_str = "gfg"
  
# printing original list and string
print("The original list : " + str(test_list))
print("The original string : " + test_str)
  
# Mixed Combinations of string and list
# using list comprehension
res = [test_str[ : idx] + ele + test_str[idx + 1 : ]\
      for idx in range(len(test_str)) for ele in test_list]
  
# printing result
print("The list after mixed Combinations : " + str(res))
Producción :

La lista original: [‘a’, ‘b’, ‘c’]
La string original: gfg
La lista después de combinaciones mixtas: [‘afg’, ‘bfg’, ‘cfg’, ‘gag’, ‘gbg’, ‘ gcg’, ‘gfa’, ‘gfb’, ‘gfc’]

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 *