私はPythonで大きな数字のリストを持っています。同じ数字がn回以上繰り返されるリストのセクションを見つける関数を書いてみたいと思います。たとえば、nが3の場合、関数は次の例の結果を返します。リスト内の反復配列のインデックスを効率的に見つける方法はありますか?
例= [1,2,1,1,1,1,2,3]に適用すると例[2:6]はすべて同じ値を含むシーケンスであるため、[(2,6)]を返す必要があります。
例= [0,0,0,7,3,2,2,2,2,1]に適用すると、関数は[(0,3)、(5,9)]を返さなければなりません[0:3]とexample [5:9]には同じ値の繰り返しシーケンスが含まれています。
example = [1,2,1,2,1,2,1,2,1,2]に適用すると、3つ以上の要素のシーケンスが存在しないため、関数は[]を返す必要があります。同じ番号。
私は、私が望むものを得るためにループの束を書くことができると知っていますが、それは非効率的であり、私が望むものを得るためのより簡単なオプションがあるかどうか疑問に思っていました。
をあなたがしようとしているコードを入力してください。 – trincot
実際に探したいのは、リストのセクションがインデックスではなく繰り返される*スライスパラメータです。あなたは1つ離れています。 –
2番目の例は間違っているか、またはnの定義が間違っています。最初は3つのゼロがあるので、ゼロはn回以上繰り返されません*。 – trincot