Dada una lista de strings, nuestra tarea es escribir un programa en Python para verificar que todas las strings estén separadas entre sí.
Ejemplo:
Entrada: lista_prueba = [“gfg”, “es”, “apuesta”]
Salida: Verdadero
Explicación: ningún carácter de string se repite en otras strings.
Entrada: test_list = [“gfg”, “is”, “best”]
Salida: Falso
Explicación: s se repite tanto en «es» como en «mejor», por lo tanto, falso.
Método n. ° 1: usar cualquier() + intersection() + enumerar()
En esto, realizamos la tarea de obtener elementos comunes usando la intersection(), y la intersección se realiza entre todas las combinaciones de strings entre sí usando enumerate() y any() se usa para probar si alguna string tiene algún carácter presente en otra. cuerda.
Python3
# Python3 code to demonstrate working of # Test if all strings are mutually disjoint # Using any() + intersection() + enumerate() # initializing list test_list = ["gfg", "is", "bet"] # printing original list print("The original list is : " + str(test_list)) # performing intersection of each string with every other res = not any(set(list(sub1)).intersection(set(list(sub2))) for idx, sub1 in enumerate(test_list) for sub2 in test_list[idx + 1:]) # printing result print("Are strings mutually disjoint? : " + str(res))
Producción:
The original list is : ['gfg', 'is', 'bet'] Are strings mutually disjoint? : True
Complejidad temporal: O(n 2 )
Espacio Auxiliar: O(n)
Método #2: Usar join() + len() + set()
Este problema se puede resolver haciendo coincidir las longitudes de las strings concatenadas y verificando la igualdad de las longitudes de las strings y el conjunto convertido. Falla en caso de que una string similar contenga elementos duplicados.
Python3
# Python3 code to demonstrate working of # Test if all strings are mutually disjoint # Using # initializing list test_list = ["gfg", "is", "bet"] # printing original list print("The original list is : " + str(test_list)) # performing concatenation and checking # for lengths concats = ''.join(test_list) res = len(concats) == len(set(concats)) # printing result print("Are strings mutually disjoint? : " + str(res))
Producción:
The original list is : ['gfg', 'is', 'bet'] Are strings mutually disjoint? : False
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(n)
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