[pyar] Duda sobre SLICES en cadenas&listas

Marcos Dione mdione en grulic.org.ar
Mie Oct 16 04:59:38 -03 2019


On Wed, Oct 16, 2019 at 02:33:49AM -0300, Edgardo wrote:
> Buenas noches,
> 
> Tengo una duda en cuanto a los slices de las cadenas y las listas.
> Dado:
> a = 'estoesunacadena'
> b = ['esto', 'es', 'una', 'lista']
> 
> Porque al imprimir
> 
> b[4] obtengo un error de indice fuera de rango
> Pero al imprimir
> b[0:1000000]
> 
> Obtengo la lista con todos sus elementos y no también error?

    opa, ésta no me la sabía/recordaba. no encuentro nada relevante en
    
https://docs.python.org/3/reference/expressions.html#slicings

    sin embargo encontré algo en un viejo what's new:
    
If you have a mutable sequence such as a list or an array you can assign
to or delete an extended slice, but there are some differences between
assignment to extended and regular slices. Assignment to a regular slice
can be used to change the length of the sequence:

>>> a = range(3)
>>> a
[0, 1, 2]
>>> a[1:3] = [4, 5, 6]
>>> a
[0, 4, 5, 6]

    así que supongo que la falta de IndexError o ValueError viene por el
lado de que podés extender lists usando slice assignment, y que srt
simplemente copió la semántica, a pesar de que son inmutables.

-- 
(Not so) Random fortune:
The technology industry sees itself as in rebellion against corporate
America: not corrupt, not buttoned-up, not empty. In fact, a tech company
can be as corrupt, soulless, and empty as any corporation, but being
unprofessional helps us maintain the belief that we are somehow different
from Wall Street.
	    -- Shanley Kane


Más información sobre la lista de distribución pyar