2017-06-21 9 views
3

私はこのコードまたは類似のものについて素敵なきれいなリストの理解を得たいと思います!Python:リストの理解形式で複数の要素を拡張または追加する方法は?

extra_indices = [] 
for i in range(len(indices)): 
    index = indices[i] 
    extra_indices.extend([index, index + 1, index +2]) 

ありがとうございます!

編集*インデックスは整数のリストです。別の配列のインデックスのリスト。例えば

指数場合は(ここで、これは私がリスト内包で連続的に索引付け出力に二つの別々のアクションを思っていた第二時間)目標し、[1、52、150]である

そしてextra_indices希望リストのCOMPに二つのループを使用することができる[1、2、3、52、53、54、150、151、152]

+0

インデックスの値はここにありますか? –

+0

初心者の方は、 'for index in indices:'のようにリストを反復することができます。しかし、私たちに例を見せてください: 'extra_indices'はどのように見えるのですか? – CristiFati

+0

'indices'リストには何が入っていますか? – voidpro

答えて

3

こと - 以下

extra_indices = [index+i for index in indices for i in range(3)] 
+0

インデックスの値/タイプは何ですか? –

+0

申し訳ありませんが、あなたは 'インデックスの種類は何ですか? OPsコードからは、整数/浮動小数点数のリスト/タプルのように見えます。 – kuro

+0

はい。最初のようですが、文字列やその他の型が含まれているとどうでしょうか。申し訳ありませんが、OPはこの質問に明確に言及する必要があります。 –

3

コードは、コードのequivalantを行う必要があり、インデックスが整数のリストであると仮定すると、

from itertools import chain 
extra_indices = list(chain(*([x,x+1,x+2] for x in indices))) 

>>> indices = range(3) 
>>> list(chain(*([x,x+1,x+2] for x in indices))) 
>>> [0, 1, 2, 1, 2, 3, 2, 3, 4] 
+0

驚くばかり!これが完璧です、ありがとうございます! – Fosa

関連する問題