私はintの乱数を含むリストを持っています。 私はこのリストを反復したいと思います。数字と連続する数字が互いに1つの数値ステップ内にある場合は、それらをサブリストに連結したいと思います。例えば隣接する数値をPythonのリストにマージする
:
input = [1,2,4,6,7,8,10,11]
output = [[1,2],[4],[6,7,8],[10,11]]
入力リストは常に昇順にソートされた正のint型が含まれています。 hereからコードの一部を試しました。
initerator = iter(inputList)
outputList = [c + next(initerator, "") for c in initerator]
私は、リスト内のすべての2つのエントリをCONCATことができますが、私はリスト内包に適したif
を追加するように見えることはできません。
Pythonのバージョン= 3.4
itertools.groupby(enumerate(inputList)、lambda x:x [1] - x [0])] 'の[[[xのgrp]は、iのgrp]です。 –
ありがとう、これは良いと思う......と私は仕事の種類を理解しています...しかし、もし私が入力= [a1、a2、a4、b6 、[c7、c8、c10、d11]の場合は、[[a1、a2]、[a4]、[b6]、[c7、c8]、[c10]、[d11] ...私は "groupby"と "enumerate"メソッドを完全に理解していないので、おそらく私はこれを得ることができないでしょう...もう一度ありがとう – Eoin