2016-04-14 15 views
0

例えば、私はPythonで2つのリストxとyを持っています。 x = [0,1,2,3,4,5,6,7]y = [3,4,5]とすると、yはxのサブリストであり、xのサブリストyの位置は3であることは明らかである。つまり、リストが別のリストのサブリストであるかどうかを判断する関数を取得しようとしています。もしそうなら、私はサブリストの位置も把握したいと思います。リスト内のサブリストの位置をPythonで見つけよう

私が使用できる既製の機能があるかどうかわかりません。もしそうでなければ、誰かが私が何らかの効果的な方法でそれを達成する方法を知っていますか?

事前にお問い合わせいただきありがとうございます。

答えて

1
x = [0,1,2,3,4,5,6,7] 
y = [3,4,5] 

occ = [i for i, a in enumerate(x) if a == y[0]] 

for b in occ: 
     if x[b:b+len(y)] == y: 
      print 'YES-- SUBLIST at : ', b 
      break 
     if len(occ)-1 == occ.index(b): 
      print 'NO SUBLIST' 
      break 
+0

多くのありがとうございます!あなたの方法(11行目)に「パス」がある理由を教えてください。私はそれが必要かどうか混乱しています。 –

+0

訂正していただきありがとうございます。はい、それは必要ではありませんでした。 – AceLearn

+0

どのように迅速に返信してください!ありがとうございました:) –

関連する問題