Mam posortowaną listę liczb całkowitych, L, a ja mam wartość X, którą chcę wstawić do listy, tak aby kolejność L była zachowywana. Podobnie, życzę, aby szybko znaleźć i usunąć pierwsze wystąpienie X.Wstawianie i usuwanie do/z posortowanej listy w Pythonie
Pytania:
- W jaki sposób korzystać z modułu przepoławiać zrobić pierwszą część, jeśli jest to możliwe?
- Czy L.remove (X) będzie najskuteczniejszym sposobem na wykonanie drugiej części? Czy Python wykryje, że lista została posortowana i automatycznie korzysta z logarytmicznego procesu usuwania?
przykładowy kod próby:
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
Twój exmaple nie ma sensu; 'i' jest indeksem do' L', ale 'L.pop (i)' usuwa wartość * z listy. –