Python – Contar strings con substring Lista de strings

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))
Producción : 

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))
Producción : 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *