La forma más rápida de crear listas estrictamente crecientes en Python
Me gustaría descubrir cuál es la forma más eficiente de lograr lo siguiente en Python:
Supongamos que tenemos dos listasa
yb
que son de igual longitud y contienen hasta 1e7 elementos. Sin embargo, para facilitar la ilustración, podemos considerar lo siguiente:
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]
El objetivo es crear una lista estrictamente monotónica.a_new
dea
mientras que solo se utiliza el primer punto de muestra de puntos de muestra con valores idénticos. Los mismos índices que deben eliminarse ena
también debe eliminarse enb
tal que el resultado final será:
a_new = [2, 3, 4, 5, 6, 7, 8, 9,10,11]
b_new = [1, 4, 5, 6, 8,10,11,12,14,15]
Por supuesto, esto se puede hacer usando computacionalmente carofor
bucles que, sin embargo, no son adecuados debido a la gran cantidad de datos.
Cualquier sugerencia es muy apreciada.