私はリストを持っています、と言い[1, 5, 2, 6, 2, 5, 1]
ます。
このリストの項目は、このリストの同じ順序です。[4, 1, 5, 2, 6, 2, 5, 1, 6, 2, 3]
1つのネストされたリストのアイテムが別の1つのネストされたリストのアイテムと同じ順序であるかどうかを確認する簡単な方法は何ですか?
質問を見た後、私はこれを書きました。最初の配列の要素が2番目の配列で連続して発生する必要があると想定している他のいくつかとは異なり、これはそうではありません。
def in_order(a,b):
j = iter(b)
for i in a:
while True:
try:
j_ = j.next()
except StopIteration:
return False
if i == j_:
break
return True
OPの例:
a = [1, 5, 2, 6, 2, 5, 1]
b = [4, 1, 5, 2, 6, 2, 5, 1, 6, 2, 3]
print in_order(a,b)
プリント:True
size = len(needle)
any(needle == haystack[i:i+size] for i in range(len(haystack) - size + 1))
ここから一番上の答えを変更するだけです:リストにPythonで別のリストが含まれているかどうかをテストする