Ho una lista ordinata di numeri interi, L e I ho un valore X che desidero inserire nella lista in modo tale che l'ordine di L'sia mantenuto. Allo stesso modo, desidero trovare rapidamente e rimuovere la prima istanza di X.Inserimento e rimozione in/da lista ordinata in Python
Domande:
- Come si usa il modulo bisect a fare la prima parte, se possibile?
- L.remove (X) sarà il modo più efficiente per eseguire la seconda parte? Python rileva che l'elenco è stato ordinato e utilizza automaticamente un processo di rimozione logaritmica?
tentativi codice di esempio:
i = bisect_left(L, y)
L.pop(i) #works
del L[bisect_left(L, i)] #doesn't work if I use this instead of pop
tuo exmaple non ha senso; 'i' è un indice in' L', ma 'L.pop (i)' rimuove un * valore * dalla lista. –