よく書かれていませんが、このコードは次のとおりです。
marker_array = [['hard','2','soft'],['heavy','2','light'],['rock','2','feather'],['fast','3'], ['turtle','4','wet']]
marker_array_DS = []
for i in range(len(marker_array)):
if marker_array[i-1][1] != marker_array[i][1]:
marker_array_DS.append(marker_array[i])
print marker_array_DS
戻り値:
[['hard', '2', 'soft'], ['fast', '3'], ['turtle', '4', 'wet']]
これは、インデックス [1] に重複する値を持つリストを除くすべてのネストされたリストを含む新しいリストを作成するタスクの一部を実行します。しかし、私が本当に必要としているのは、削除されたリストから一致するインデックス値を連結して、次のようなリストを作成することです。
[['hard heavy rock', '2', 'soft light feather'], ['fast', '3'], ['turtle', '4', 'wet']]
インデックス [1] の値は連結できません。別の投稿のヒントを使用して、なんとか連結部分を実行できました。
newlist = [i + n for i, n in zip(list_a, list_b]
しかし、私は望ましい結果を生み出す方法を理解するのに苦労しています。「marker_array」リストは、このコードに渡される前にすでに昇順でソートされています。インデックス [1] 位置の類似値はすべて連続します。上記のように、一部のネストされたリストには [0] と [1] を超える値がない場合があります。