Strings - Slicing — 5 min
5 min | Última modificación: Octubre 4, 2021
[1]:
#
# La función len calcula la longitud de una cadena de caracteres.
#
s = "Python"
len(s)
[1]:
6
En Python, los strings son vectores de caracteres; el primer caracter ocupa la posición 0, el segundo la 1 y así sucesivamente. Los índices negativos (iniciando en -1
) se usan para indicar la posición contando desde atrás. Por ejemplo:
+---+---+---+---+---+---+
| P | y | t | h | o | n |
+---+---+---+---+---+---+
0 1 2 3 4 5
-6 -5 -4 -3 -2 -1
[2]:
#
# Caracter en la posición 0
#
word = "Python"
word[0] # Primer caracter
[2]:
'P'
[3]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
# Caracter en la posición 5
#
word[5] # Sexto caracter
[3]:
'n'
[4]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
# Ultimo caracter
#
word[-1]
[4]:
'n'
[5]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
# Antepenúltimo caracter
#
word[-2]
[5]:
'o'
[6]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
# Primer caracter
#
word[-6]
[6]:
'P'
[7]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
# El operador `:` se usa para indicar rangos
#
word[0:2]
[7]:
'Py'
[8]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
# ':2' indica desde el principio hasta la
# posición 2 (sin incluirla)
#
word[:2]
[8]:
'Py'
[9]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
# Caracteres en las posiciones 2, 3 y 4
#
word[2:5]
[9]:
'tho'
[10]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
# Desde la posición 2 hasta el final
#
word[2:]
[10]:
'thon'
[11]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
# Hasta la posición 2 + De la posición 2 en adelante
# "Py" + "thon"
#
word[:2] + word[2:]
[11]:
'Python'
[12]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
# Desde la posición -2 hasta el final,
# o sea, los últimos dos caracteres.
#
word[-2:]
[12]:
'on'
[13]:
#
# +---+---+---+---+---+---+
# | P | y | t | h | o | n |
# +---+---+---+---+---+---+
# 0 1 2 3 4 5
# -6 -5 -4 -3 -2 -1
#
word[-5:-2]
[13]:
'yth'
[14]:
#
# Desde el primero hasta el último caracter.
# Genera una copia
#
word[:]
[14]:
'Python'
[15]:
#
# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
# | h | o | l | a | | m | u | n | d | o | | c | r | u | e | l | | ! |
# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#
phrase = "hola mundo cruel!"
phrase[::2]
[15]:
'hl ud re!'
[16]:
#
# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
# | h | o | l | a | | m | u | n | d | o | | c | r | u | e | l | | ! |
# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#
phrase = "hola mundo cruel!"
phrase[1:9:2]
[16]:
'oamn'