Я только начинаю изучать питон.Мне нужно искать один список с другим, но я должен поддерживать порядок списка, с которым я ищу.Пример:
MylistA = [A, B, G, S, X]
MylistB = [A, G, B]
Я хочу, чтобы это возвращало false, поскольку ListB
не в том же порядке, что и ListA
.Однако, если бы это было:
ListA =[A, B, G, S, X]
ListB =[A, B, G]
Я бы хотел, чтобы это вернуло True
.
Вот что я пробовал, однако это занимает много строк и неэффективно.
MylistA = [A, Q, V, B, G, D, F, R, T, B, G, S, Q]
MylistB = [B, G, D, F, R, T]
ListFound = 0
Pos1 = 0
Pos2 = 1
Pos3 = 2
Pos4 = 3
Pos5 = 4
Pos6 = 5
Pos1A = 0
Pos2A = 1
Pos3A = 2
Pos4A = 3
Pos5A = 4
Pos6A = 5
while Pos6 <= len(MylistA):
if MylistA[pos1] == MylistB[Pos1A] and \
MylistA[pos2] == MylistB[Pos2A] and \
MylistA[pos3] == MylistB[Pos3A] and \
MylistA[pos4] == MylistB[Pos4A] and \
MylistA[pos5] == MylistB[Pos5A] and \
MylistA[pos6] == MylistB[Pos6A]:
print("MylistB found within MylistA at positions", Pos1, Pos2, Pos3, Pos4,
Pos5, Pos6)
MylistFound += 1
elif Pos6 >= len(ListA):
print("MylistB was found", ListFound, "times within MylistA")
Pos1 += 1
Pos2 += 1
Pos3 += 1
Pos4 += 1
Pos5 += 1
Pos6 += 1
Это работает, как и ожидалось, но занимает много строк, и я ищу эффективный метод для достижения тех же результатов.Спасибо за помощь.