El problema clásico que Python puede manejar con bastante facilidad y que también se ha tratado muchas veces es encontrar si una string es una substring de otra. Pero a veces, uno desea extender esto en la lista de strings y encontrar cuántas strings satisfacen la condición y, por lo tanto, requiere atravesar todo el contenedor y realizar el algoritmo genérico. Vamos a discutir ciertas formas de realizar esta tarea.
Método #1: Usar la comprensión de listas + len() La comprensión de listas es una forma elegante de realizar cualquier tarea en particular, ya que aumenta la legibilidad a largo plazo. Esta tarea se puede realizar utilizando un método ingenuo y, por lo tanto, también se puede reducir a la comprensión de la lista. El len() se usa para calcular la longitud de la lista.
Python3
# Python code to demonstrate # Count Strings with substring String List # using list comprehension + len() # initializing list test_list = ['GeeksforGeeks', 'Geeky', 'Computers', 'Algorithms'] # printing original list print ("The original list is : " + str(test_list)) # initializing substring subs = 'Geek' # using list comprehension + len() # Count Strings with substring String List res = len([i for i in test_list if subs in i]) # printing result print ("All strings count with given substring are : " + str(res))
The original list is : ['GeeksforGeeks', 'Geeky', 'Computers', 'Algorithms'] All strings count with given substring are : 2
Método #2: Usando filter() + lambda + len() Esta función también puede realizar esta tarea de encontrar las strings con la ayuda de lambda. Simplemente filtra todas las strings que coinciden con la substring en particular y luego la agrega en una nueva lista. El len() se usa para calcular la longitud de la lista.
Python3
# Python code to demonstrate # Count Strings with substring String List # using filter() + lambda + len() # initializing list test_list = ['GeeksforGeeks', 'Geeky', 'Computers', 'Algorithms'] # printing original list print ("The original list is : " + str(test_list)) # initializing substring subs = 'Geek' # using filter() + lambda + len() # Count Strings with substring String List res = len(list(filter(lambda x: subs in x, test_list))) # printing result print ("All strings count with given substring are : " + str(res))
The original list is : ['GeeksforGeeks', 'Geeky', 'Computers', 'Algorithms'] All strings count with given substring are : 2
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