Проверьте, является ли список частью другого списка, сохраняя последовательность списка - PullRequest
0 голосов
/ 12 октября 2019

Как проверить, является ли список в python частью другого списка с сохранением порядка. Пример:

a = [3, 4, 1, 2, 5]
b = [4, 1, 2]
Answer is True

a = [3, 4, 1, 0, 2, 5]
b = [4, 1, 2]
Answer is False as the order is not matched

Ответы [ 2 ]

0 голосов
/ 12 октября 2019

Используйте эту функцию:

def is_a_in_x(A, X):
  for i in range(len(X) - len(A) + 1):
    if A == X[i:i+len(A)]: return True
  return False
0 голосов
/ 12 октября 2019

Это можно решить, используя равенство списков Python, сравнивая подсписки на всех позициях:

is_b_sublist_of_a = any(b == a[i:i+len(b)] for i in range(len(a)))

Выражение a[i:i+len(b)] создает список длиной b, начиная с i thпозиция. Это выражение вычисляется для всех позиций в a. Если какое-либо из сравнений возвращает True, выражение any также будет равно True, а False в противном случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...