
Santiago Pulido Peláez
PreguntaTengo una pregunta, de el siguiente código:
Si bien la longitud del string es 8, el último caracter se encuentra en la posición 7, pero porque cuando le digo name[2:8] aparece hasta el último caracter y cuando le digo name[2:7] no aparece el último caracter?
Mil gracias

Luis Kennedy Saavedra Fuentes
Hola santiago buenas tardes compañero!! De seguro ya tienes resulta tu duda a estas fechas! Igual aporto como se me hace entendible mas allá de todas las palabras técnicas para dar a entederlo!!
>>>name = 'Santiago' >>>len(name) 8 S[0] [1] a[1] [2] n[2] [3] t[3] [4] i[4] [5] a[5] [6] g[6] [7] o[7] [8]
La primera columna es cada caracter de la variable La segunda columna es el indice del caracter en la variable La tercera columna es el nUmero del caracter en la variable que ya len(name) nos verificó que es 8
Entonces en slices (Rebanadas): name = [2:8] Estoy diciendo desde el indice 2 hasta el numero de caracter 8 Indice [2] = 'n' Hasta Caracter[8]='o'
Si coloco name[3:7] si necesidad de ingresarlo en la consola ya se que que el indice 3 es: 't' y el num de caracter 7 es: 'g' Entonces me mostrarA: 'tiag'
Y cuando escribimos:
name[7]
Entamos diciendo de la variable name, en el indice 7 y el indice 7 es : 'o' tal como te arrojó! :)
Si escribimos:
name[8]
Dará error porque no hay indice 8

Orlando Ramirez
hola Santiago, cuando haces slice en Python este no toma el segundo término sino el anterior a ese, [2:7] tomaría desde el segundo término hasta el sexto, en otro ejempli ti tomas desde el [0:6] tomaría desde la primera letra hasta la quinta.
Imprimiento Santia

Sergio Andres Gutierrez Zarate
En Python, cuando se hace la técnica de slicing o corte, hay que tener en cuenta que en el intervalo en el que se va a hacer una operación, el interprete toma como límite inferior el número a la izquierda de los dos puntos y como límite superior el (n-1) número a la derecha de los dos puntos, es decir, toma el intervalo como cerrado por derecha y abierto por izquierda. En temas de indexación también hay que recordar que solo se hace con números enteros.

Sergio Rubiano
Cuando le dices a tu variable name[2:8] lo que le estas dando a entender es que recorra desde el indice 2 pero que no vaya a tomar el indice 8, recuerde que comenzamos a contar desde 0

Sergio Rubiano
Hola santiago, averigua todo sobre los Slice en python