The Python tutorial spiega il comportamento delle porzioni quando gli indici sono negativi, ma non riesco a trovare la documentazione che descrive il comportamento quando l'indice finale precede l'indice iniziale. (Ho anche guardato Explain Python's slice notation, e forse non sto leggendo abbastanza attentamente, ma le risposte non sembrano risolvere questo punto.)La lista [i: j] è garantita come una lista vuota se la lista [j] precede la lista [i]?
Il comportamento che osservo è che viene restituita una lista vuota, che mi sembra ragionevole. Tuttavia, mi sembra ragionevole anche che restituisca un elenco di articoli tra i
e j
in ordine inverso o semplicemente sollevando un'eccezione.
Is list[i:j]
garantiti per essere una lista vuota se list[j]
precede list[i]
?
Ah, * questo * dove è menzionato nella documentazione di Python. Esattamente quello che stavo cercando. – jamesdlin
Cosa intendi con il corsivo "per i tipi standard di Python"? – inf
@bamboon: la gestione delle sezioni è specifica del tipo. I tipi 'list',' tuple', 'str',' bytes' e 'range' si comportano tutti allo stesso modo, ma se si implementa il proprio tipo il metodo' __getitem__' è libero di gestire fette in modo diverso. –