A veces, mientras trabajamos con listas de strings de Python, podemos tener un problema en el que necesitamos extraer solo aquellas listas que tienen una substring específica en una posición específica. Este tipo de problema puede surgir en los dominios de procesamiento de datos y desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso de la comprensión de listas + división
de listas La combinación de las funcionalidades anteriores se puede utilizar para realizar esta tarea en particular. En esto, verificamos el rango de substrings usando el corte de listas y la tarea de extracción de la lista se compila en la comprensión de listas.
# Python3 code to demonstrate # Filter String with substring at specific position # using list comprehension + list slicing # Initializing list test_list = ['geeksforgeeks', 'is', 'best', 'for', 'geeks'] # printing original list print("The original list is : " + str(test_list)) # Initializing substring sub_str = 'geeks' # Initializing range i, j = 0, 5 # Filter String with substring at specific position # using list comprehension + list slicing res = [ele for ele in test_list if ele[i: j] == sub_str] # printing result print ("Filtered list : " + str(res))
The original list is : ['geeksforgeeks', 'is', 'best', 'for', 'geeks'] Filtered list : ['geeksforgeeks', 'geeks']
Método #2: Usofilter() + lambda
La combinación de los métodos anteriores se puede utilizar para realizar esta tarea. En esto, filtramos los elementos usando lógica compilada usando lambda usando filter().
# Python3 code to demonstrate # Filter String with substring at specific position # using filter() + lambda # Initializing list test_list = ['geeksforgeeks', 'is', 'best', 'for', 'geeks'] # printing original list print("The original list is : " + str(test_list)) # Initializing substring sub_str = 'geeks' # Initializing range i, j = 0, 5 # Filter String with substring at specific position # using filter() + lambda res = list(filter(lambda ele: ele[i: j] == sub_str, test_list)) # printing result print ("Filtered list : " + str(res))
The original list is : ['geeksforgeeks', 'is', 'best', 'for', 'geeks'] Filtered list : ['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