Я хотел бы узнать, что является самым эффективным способом достижения следующего в Python:
Предположим, что у нас есть два списка a
и b
, которые имеют равную длину и содержат до 1e7 элементов.
Однако для удобства иллюстрации мы можем рассмотреть следующее:
a = [2, 1, 2, 3, 4, 5, 4, 6, 5, 7, 8, 9, 8,10,11]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15]
Цель состоит в том, чтобы создать строго монотонный список a_new
из a
, тогда как используется только первая точка выборки выборочных точек с одинаковыми значениями.
Те же индексы, которые должны быть удалены в a
, также должны быть удалены в b
, так что конечный результат будет:
a_new = [2, 3, 4, 5, 6, 7, 8, 9,10,11]
b_new = [1, 4, 5, 6, 8,10,11,12,14,15]
Конечно, это можно сделать с использованием дорогостоящих циклов for
, которые, однако, не подходят из-за огромного объема данных.
Любые предложения очень ценятся.