6

私はまったく新しいので、あまり明白ではないことを願っていますが、次の問題に対する短くて正確な答えを見つけることができないようです.

私は2つのリストを持っています:

a = [2,3,5,2,5,6,7,2]
b = [2,5,6]

b2 番目のリスト ( ) のすべてのインデックスが 1 番目のリスト ( ) にある場合を調べたいaので、次のようになります。

a の b のインデックス:3, 4, 5またはb = a[3:6]

4

2 に答える 2

18

リスト内包表記では:

>>> [(i, i+len(b)) for i in range(len(a)) if a[i:i+len(b)] == b]
[(3, 6)]

または for ループを使用:

>>> indexes = []
>>> for i in range(len(a)):
...    if a[i:i+len(b)] == b:
...        indexes.append((i, i+len(b)))
... 
>>> indexes
[(3, 6)]
于 2012-05-05T06:42:15.700 に答える