Dada una lista de strings y una substring, la tarea es escribir un programa de Python para extraer todas las strings que tienen todos los caracteres que se pueden usar para hacer una substring.
Ejemplos:
Entrada: test_list = [“gfg”, “/”, “geeksforgeeks”, “best”, “for”, “geeks”], substr = “kgs”
Salida: [“geeksforgeeks”, “geeks”]
Explicación: todos los caracteres kgs están presentes en ambas strings.
Entrada: test_list = [“gfg”, “/”, “geeksforgeeks”, “best”, “for”, “geeks”], substr = “kgf”
Salida : [“geeksforgeeks”]
Explicación: todos los caracteres kgs están presentes solo en la string geeksforgeeks.
Método 1: Usar all() + comprensión de lista
En esto, verificamos la presencia de todos los caracteres en la string usando all(). La iteración de strings se realiza mediante comprensión de listas.
Python3
# Python3 code to demonstrate working of # Filter Supersequence Strings # Using all() + list comprehension # initializing list test_list = ["gfg", "/", "geeksforgeeks", "best", "for", "geeks"] # printing original list print("The original list is : " + str(test_list)) # initializing substr substr = "kgs" # all() checks for all characters in strings res = [sub for sub in test_list if all(ele in sub for ele in substr)] # printing result print("Filtered strings : " + str(res))
Producción:
La lista original es: [‘gfg’, ‘/’, ‘geeksforgeeks’, ‘best’, ‘for’, ‘geeks’]
Strings filtradas: [‘geeksforgeeks’, ‘geeks’]
Método #2: Usar filter() + all()
En esto, realizamos la tarea de filtrar usando filter() y la función lambda en lugar de la lista de comprensión y los condicionales usados en el método superior.
Python3
# Python3 code to demonstrate working of # Filter Supersequence Strings # Using filter() + all() # initializing list test_list = ["gfg", "/", "geeksforgeeks", "best", "for", "geeks"] # printing original list print("The original list is : " + str(test_list)) # initializing substr substr = "kgs" # all() checks for all characters in strings res = list(filter(lambda sub: all(ele in sub for ele in substr), test_list)) # printing result print("Filtered strings : " + str(res))
Producción:
La lista original es: [‘gfg’, ‘/’, ‘geeksforgeeks’, ‘best’, ‘for’, ‘geeks’]
Strings filtradas: [‘geeksforgeeks’, ‘geeks’]
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