Python | String de filtro con substring en una posición específica

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

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

The original list is : ['geeksforgeeks', 'is', 'best', 'for', 'geeks']
Filtered list : ['geeksforgeeks', 'geeks']

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *