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