特定の条件が満たされている場合、2つのリストをリストのリスト内でマージしようとしています。特定の条件が満たされている場合、2つのリストをリストとマージする
例:
li = [[18, 19, 20, 21, 22], [25, 26, 27], [59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69]]
li2 = [[15, 16, 17], [32, 33, 34, 35], [89, 90, 91], [95, 96, 97, 98]]
条件は各リスト間の差(またはむしろ距離)が7個の未満単位である場合、リストはマージされることです。リストがマージされた後、不足している数字を記入したいと思います。
そこで期待される成果は以下の通りです:
li = [[18, 19, 20, 21, 22, 23, 24, 25, 26, 27], [59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69]]
li2 = [[15, 16, 17], [32, 33, 34, 35], [89, 90, 91, 92, 93, 94, 95, 96, 97, 98]]
これは私が働いている現在のコードです:
new_li = []
for i in np.arange(len(li) - 1):
current_item, next_item = li[i], li[i+1]
if next_item[0] - current_item[-1] <= 7:
new_li.append(current_item + next_item)
else:
new_li.append(next_item)
私に与える:
new_li = [[18, 19, 20, 21, 22, 25, 26, 27], [59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69]]
を
アプリli2
のコードを横たわっ:
new_li2 = [[32, 33, 34, 35], [89, 90, 91], [89, 90, 91, 92, 93, 95, 96, 97, 98]]
私も欠損値を埋めるために開始する前に、自分のコードが間違っていると正しいコードの最後の部分を得るように見えることはできません。私のコードを改善するための助けやヒントがあれば幸いです!
を次のようにこのようにあなたは解決策を書き換えることができますか? 'range'は速くなり、あなたはNumPyを依存関係として必要としません。 – MSeifert