Как проверить, является ли список в 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
Используйте эту функцию:
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
Это можно решить, используя равенство списков 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 в противном случае.
a[i:i+len(b)]
b
i
a
True
any
False