Python | Combinación selectiva en la lista de strings

A veces, mientras trabajamos con listas de Python, podemos tener un problema en el que necesitamos realizar la operación de fusión. Puede haber varias modificaciones para fusionar. Uno de ellos puede ser reemplazar todos los caracteres excepto un carácter en particular. Veamos diferentes formas en las que se puede realizar esta tarea.

Método n.° 1: usar la comprensión de listas +join() + zip()
La combinación de los métodos anteriores se puede usar para realizar esta tarea. En esto, combinamos los elementos similares usando zip() y la operación de fusión se realiza usando join(). La comprensión de listas se utiliza para proporcionar lógica e iteraciones.

# Python3 code to demonstrate working of
# Selective Merge in String list
# using list comprehension + join() + zip()
  
# initialize lists
test_list1 = ["abc", "de", "efgh"]
test_list2 = ["gfg", "is", "good"]
  
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
  
# initialize exempt char 
exm_chr = 'g'
  
# Selective Merge in String list
# using list comprehension + join() + zip()
res = [''.join(l if l == exm_chr else k for k, l in zip(i, j))
      for i, j in zip(test_list1, test_list2)]
  
# printing result
print("The resultant list after Selective Merge : " + str(res))
Producción :

The original list 1 : ['abc', 'de', 'efgh']
The original list 2 : ['gfg', 'is', 'good']
The resultant list after Selective Merge : ['gbg', 'de', 'gfgh']

Método #2: Usarmap() + lambda() + join() + zip()
La combinación de las funciones anteriores también se puede usar para realizar esta tarea. En esto, usamos map() y join() para realizar tareas realizadas por comprensión de listas. Descansar toda la tarea se realiza de manera similar al método anterior.

# Python3 code to demonstrate working of
# Selective Merge in String list
# using map() + lambda() + join() + zip()
  
# initialize lists
test_list1 = ["abc", "de", "efgh"]
test_list2 = ["gfg", "is", "good"]
  
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
  
# initialize exempt char 
exm_chr = 'g'
  
# Selective Merge in String list
# using map() + lambda() + join() + zip()
temp = lambda ele: ''.join([i if j != exm_chr else j for i, j in ele])
res = list(map(temp, (map(lambda k: zip(*k), zip(test_list1, test_list2)))))
  
# printing result
print("The resultant list after Selective Merge : " + str(res))
Producción :

The original list 1 : ['abc', 'de', 'efgh']
The original list 2 : ['gfg', 'is', 'good']
The resultant list after Selective Merge : ['gbg', 'de', 'gfgh']

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 *