Colecciones - Tutorial de Python

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

20/5/2020 Colecciones - Tutorial de Python

Colecciones
Una colección permite agrupar varios objetos bajo un mismo nombre. Por ejemplo, si necesitamos almacenar
en nuestro programa los nombres de los alumnos de un curso de programación, será más conveniente
ubicarlos a todos dentro de una misma colección de nombre alumnos , en lugar de crear los objetos alumno1 ,
alumno2 , etc.

En Python existen tres colecciones básicas, a saber: las listas, las tuplas y los diccionarios.

Listas
Una lista es un conjunto ordenado de objetos. Por objetos entendemos cualquiera de los tipos de dato ya
mencionados, incluso otras listas.

Para crear una lista, especificamos sus elementos entre corchetes y separados por comas.

>>> lenguajes = ["Python", "Java", "C", "C++"]

Dado que se trata de una colección ordenada, accedemos a cada uno de los elementos a partir de su posición,
comenzando desde el 0.

>>> lenguajes[0]
'Python'
>>> lenguajes[1]
'Java'

(En Python, las cadenas de caracteres pueden estar formadas tanto por comillas dobles como por comillas
simples).

La posición de un elemento, también conocida como índice, aumenta de izquierda a derecha cuando éste es
positivo. Indicando un número negativo, los elementos se obtienen de derecha a izquierda.

>>> lenguajes[-1]
'C++'
>>> lenguajes[-2]
'C'

Para cambiar un elemento, combinamos la nomenclatura descrita con la asignación.

>>> lenguajes[1] = "Rust"


>>> lenguajes
['Python', 'Rust', 'C', 'C++']

https://tutorial.recursospython.com/colecciones/ 1/5
20/5/2020 Colecciones - Tutorial de Python

Para remover un elemento, utilizamos la palabra reservada del .

>>> del lenguajes[1]


>>> lenguajes
['Python', 'C', 'C++']

Nótese que cuando un elemento es eliminado, a excepción del último, todos los que lo suceden se corren una
posición hacia la izquierda.

La operación inversa es la de insertar un elemento en una posición determinada, desplazando el resto que le
sucede una posición hacia la derecha, vía el método (volveremos sobre este concepto más adelante)
insert() .

# Insertar la cadena "Elixir" en la posición 1.


>>> lenguajes.insert(1, "Elixir")
>>> lenguajes
['Python', 'Elixir', 'C', 'C++']

Por último, la operación más común es la de agregar un elemento al final de la lista. Para ello empleamos
append() .

>>> lenguajes.append("Haskell")
>>> lenguajes
['Python', 'Elixir', 'C', 'C++', 'Haskell']

¡Genial! Baste por el momento con lo que se ha dicho sobre las listas. Conoceremos más propiedades en la
sección de Slicing.

Tuplas
Las tuplas, al igual que las listas, son colecciones ordenadas. No obstante, a diferencia de éstas, son
inmutables. Es decir, una vez asignados los elementos, no pueden ser alterados. En términos funcionales,
podría decirse que las tuplas son un subconjunto de las listas, por cuanto soportan las operaciones con índices
para acceder a sus elementos, pero no así las de asignación.

# Indicamos los elementos entre paréntesis.


>>> lenguajes = ("Python", "Java", "C", "C++")
>>> lenguajes[0]
'Python'
>>> lenguajes[-1]
'C++'

Un intento por remover un elemento de una tupla o asignarle un nuevo valor arrojará un error.

Ahora bien, si las listas hacen todo lo que hace una tupla, ¿para qué, entonces, existen las tuplas?
Sencillamente porque una tupla, justamente por carecer de todas las funcionalidades de mutación de
elementos, es un objeto más liviano y que se crea más rápido.

https://tutorial.recursospython.com/colecciones/ 2/5
20/5/2020 Colecciones - Tutorial de Python

La función del programador será la de dirimir si para una determinada colección ordenada de objetos le
conviene más una lista o una tupla, según sus elementos deban ser alterados en el futuro o no.

Diccionarios
Los diccionarios, a diferencia de las listas y las tuplas, son colecciones no ordenadas de objetos. Además, sus
elementos tienen una particularidad: siempre conforman un par clave-valor. Es decir, cuando añadimos un valor
a un diccionario, se le asigna una clave única con la que luego se podrá acceder a él (pues la posición ya no es
un determinante).

Para crear un diccionario, indicamos los pares clave-valor separados por comas y estos, a su vez, separados
por dos puntos.

>>> d = {"Python": 1991, "C": 1972, "Java": 1996}

En este ejemplo, creamos un diccionario con tres elementos, cuyas claves son "Python" , "C" y "Java" y
sus valores los años en los que fueron creados, a saber: 1991 , 1972 y 1996 , respectivamente.

Para acceder a cualquiera de los valores, debemos indicar su clave entre corchetes.

>>> d["Java"]
1996

Las operaciones de añadir, modificar o eliminar valores son similares a las de las listas.

# Añadir un par clave/valor.


>>> d["Elixir"] = 2011
# Modificar uno existente.
>>> d["Python"] = 3000
# Eliminar.
>>> del d["C"]
>>> d
{'Python': 3000, 'Java': 1996, 'Elixir': 2011}

Las claves típicamente serán números o cadenas, aunque bien podrían ser de cualquier otro tipo de dato
inmutable (todos los vistos hasta ahora son inmutables, a excepción de las listas y los diccionarios). Además,
nunca puede haber claves repetidas, ya que actúan como identificadores únicos para un valor determinado. Los
valores, en cambio, pueden ser de cualquier tipo de dato, ¡incluyendo otros diccionarios!

Operaciones comunes
Hemos visto cómo del se aplica tanto a listas como a diccionarios. Existen varias funciones que operan sobre
distintos tipos de colecciones. Por ejemplo, la función incorporada len() retorna el número de elementos en
una colección.

https://tutorial.recursospython.com/colecciones/ 3/5
20/5/2020 Colecciones - Tutorial de Python

>>> len([1, 2, 3, 4])


4
>>> len({"Python": 1991, "C": 1972})
2
>>> len(("¡Hola, mundo!",))
1

En la tercera llamada pasamos como argumento una tupla que contiene un solo elemento (una cadena). No
obstante, dado que para definir tuplas se emplean paréntesis, es necesario añadir una coma al final para que
Python entienda que se trata de una tupla en lugar de una expresión (los paréntesis también son utilizados para
agrupar expresiones, como en matemática).

Una cadena es, en rigor, una colección de caracteres. Por ello también soporta las operaciones de acceso a
sus elementos (¡no así las de asignación, ya que son inmutables!).

>>> s = "¡Hola, mundo!"


>>> s[4]
'a'
>>> len(s)
13

Por último, para saber si un elemento está dentro de una colección, empleamos la palabra reservada in .

>>> 10 in (1, 2, 3, 4)
False
>>> "mundo" in "¡Hola, mundo!"
True
>>> "Python" in {"Python": 1991, "C": 1972}
True

Nótese que el operador in en los diccionarios actúa sobre las claves, no sobre los valores.

¡Más sobre colecciones!


Las cadenas incluyen muchos métodos para realizar operaciones sobre ellas. Sería poco práctico comentarlas
todas en este tutorial, pero, si te interesa, puedes profundizar en el siguiente artículo: 30 métodos de las
cadenas (https://recursospython.com/guias-y-manuales/30-metodos-de-las-cadenas/). Y para más
funcionalidades del resto de las colecciones, véanse Listas y tuplas (https://recursospython.com/guias-y-
manuales/listas-y-tuplas/) y Diccionarios (https://recursospython.com/guias-y-manuales/diccionarios/).

Pero con lo que hemos aprendido hasta el momento sobre este tema es suficiente para seguir adelante.
Hablemos, entonces, de los bucles (../bucles/).

https://tutorial.recursospython.com/colecciones/ 4/5
20/5/2020 Colecciones - Tutorial de Python

© 2013 - 2019
¡Suscríbete a nuestra newsletter! (https://recursospython.com/newsletter/)
Políticas de Uso y Privacidad (https://recursospython.com/politicas-de-uso-y-privacidad/)
(https://creativecommons.org/licenses/by-nc/3.0/deed.es)

Desarrollado con MkDocs (https://www.mkdocs.org/).

https://tutorial.recursospython.com/colecciones/ 5/5

También podría gustarte