Python | Intersección de dos cuerdas

Una de las operaciones de string puede ser calcular la intersección de dos strings, es decir, generar los valores comunes que aparecen en ambas strings.

Hay varias formas en Python, a través de las cuales podemos realizar la Intersección de dos strings.

Método n.º 1: método ingenuo
Cree una string vacía y compruebe si hay una nueva aparición de un carácter común a la string y anexándola. Por lo tanto, calcular la nueva string de intersección. Esto se puede lograr mediante bucles y sentencias if/else.

# Python3 code to demonstrate 
# string intersection
# using naive method 
  
# initializing strings
test_str1 = 'GeeksforGeeks'
test_str2 = 'Codefreaks'
  
# using naive method to
# get string intersection
res = ""
for i in test_str1:
    if i in test_str2 and not i in res:
        res += i
          
# printing intersection
print ("String intersection is : " + res)

Producción :

String intersection is : eksfor

 
Método #2: Usarset() + intersection()

En primer lugar, ambas strings se convierten en conjuntos usando set()y luego se realiza la intersección usando intersection(). Devuelve el conjunto ordenado.

# Python3 code to demonstrate 
# string intersection
# using set() + intersection()
  
# initializing strings
test_str1 = 'GeeksforGeeks'
test_str2 = 'Codefreaks'
  
# using set() + intersection() to
# get string intersection
res = set(test_str1).intersection(test_str2)
          
# printing intersection
print ("String intersection is : " + str(res))

Producción :

String intersection is : {'e', 'f', 's', 'o', 'k', 'r'}

Método #3: Usarjoin()

join()realiza la tarea similar a la lista de comprensión en el caso de las listas. Esto encapsula la lógica de intersección completa y une cada elemento filtrado a través de la lógica de intersección en una string, por lo tanto, calcula la intersección. Convierte las strings en un conjunto y luego calcula y opera sobre ellas.

# Python3 code to demonstrate 
# string intersection
# using join()
  
# initializing strings
test_str1 = 'GeeksforGeeks'
test_str2 = 'Codefreaks'
  
# using join() to
# get string intersection
res = ''.join(sorted(set(test_str1) &
         set(test_str2), key = test_str1.index))
          
# printing intersection
print ("String intersection is : " + str(res))

Producción :

String intersection is : eksfor

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 *