Así que he estado jugando con python y noté algo que parece un poco extraño. La semántica de -1
en la selección de una lista no parece ser consistente.Selección de lista/sublista de Python -1 rareza
así que tengo una lista de números
ls = range(1000)
El último elemento de la lista si por supuesto ls[-1]
pero si tomo una lista secundaria de ese modo que consiga todo, desde decir el punto medio hasta el final lo haría hacer
ls[500:-1]
pero esto no me da una lista que contiene el último elemento de la lista, pero en lugar de una lista que contiene todo hasta el último elemento. Sin embargo, si lo hago
ls[0:10]
consigo una lista que contiene también el décimo elemento (por lo que el selector debe ser incluido), ¿por qué entonces no funciona para -1
.
Por supuesto puedo hacer ls[500:]
o ls[500:len(ls)]
(que sería una tontería). Me preguntaba cuál era el trato con -1, me doy cuenta de que no lo necesito allí.