Come posso utilizzare il modulo bisect su liste che vengono ordinate in ordine decrescente? es.bisect python, è possibile lavorare con elenchi ordinati discendenti?
import bisect
x = [1.0,2.0,3.0,4.0] # normal, ascending
bisect.insort(x,2.5) # --> x is [1.0, 2.0, 2.5, 3.0, 4.0] ok, works fine for ascending list
# however
x = [1.0,2.0,3.0,4.0]
x.reverse() # --> x is [4.0, 3.0, 2.0, 1.0] descending list
bisect.insort(x,2.5) # --> x is [4.0, 3.0, 2.0, 1.0, 2.5] 2.5 at end, not what I want really
Gli unici metodi sono insort (insort_right) o insort_left - nessuno dei quali lavoro per me. Qualche suggerimento? grazie
I metodi in bisect dovrebbe avere un " parametro "cmp", come fa sort(), ma non lo fanno. –
No, dovrebbero avere un parametro 'key'. –
hai guardato 'deque'? Bisect funziona anche con deque. Ti fa scoppiare il primo elemento della lista, è questo quello che vuoi? – hansaplast