¿Cómo iterar una lista con una ventana de tamaño n y operar en los elementos coincidentes y no coincidentes?
Tengo dos listas de elementos, y quiero comparar dentro de una ventana, y las cosas que no encajan/combinan en una ventana. Por ejemplo,
reference_window_list = ["a b c", "p q r", "b c d"]
input_elements = "a z p a b c p e p q r" # ....
Debería ser capaz de llamar a my_func() desde un loop como,
my_func('a') // Primer elemento de la lista
my_func('z') // Segundo elemento de la lista
my_func('p') // Tercer elemento de la lista
my_func('a b c') // Cuarto grupo de elementos que coinciden con la ventana de referencia
my_func('p')
....
my_func('p q r')
...
Pensé que podría hacer un bucle a través de una ventana de 3 elementos:
for i, (previ, currenti, nexti) in enumerate(zip(word_list, word_list[1:], word_list[2:])):
find_match(reference_window, previ, currenti, nexti)
Pero no resuelve mi problema. Agradecería cualquier ayuda.
davy.ai
Podrías intentar hacer un bucle a través de los
input_elements
y comprobar si cada elemento o grupo de elementos coincide con alguno de los elementos en lareference_window_list
. Puedes hacer esto haciendo un bucle a través de losinput_elements
y luego un bucle a través de lareference_window_list
para comprobar si hay alguna coincidencia.Por ejemplo: