D.P. INGENIERIA INFORMATICA

TIPOS ITERABLES EN PYTHON (Python)


Fecha de publicación: 17/05/2020
Autor: Antonio Espín Herranz

155 visitas


Si necesita ayuda puede contratar una clase online: 15 €/hora
Contacto

En Python disponemos de dos clases de tipos: Simples y colecciones (también reciben el nombre de iterables)

SIMPLES:
  • int, long, float, complex, boolean: los tipos simples solo permiten almacenar un dato
COLECCIONES (ITERABLE)
Mutables:
  • Listas (repetidos, claves num. Inicio en 0)
  • Diccionarios (NO repetidos, clave = valor, clave puede ser texto)
Inmutables:
  • String (repetidos, claves num. Inicio en 0), entre comillas simples o dobles.
  • Tuplas (repetidos,claves num. Inicio en 0), entre paréntesis y comas.
  • Conjuntos (NO repetidos, NO indexación).

LISTAS

La lista es un tipo de colección ordenada. Sería equivalente a lo que en otros lenguajes se conoce por arrays , o vectores

Los índices son numéricos y empiezan en 0. Las listas pueden contener cualquier tipo de dato:
números, cadenas, booleanos, … y también listas.
Las listas se representan por los elementos entre corchetes: L = [22, True, “una lista”, [1, 2]]

Los elementos de una lista son accesibles por la posición que ocupan y empiezan en la posición 0.
L = [11, False]
mi_var = L[0] # mi_var vale 11
L2 = [“una lista”, [1, 2]]
L2[1][0] # Accede al elemento 1
print type (L)) : list
Los elementos se pueden modificar: L2[0]=99
Podemos acceder a los elementos del final de la lista utilizando un número negativo dentro de los corchetes.
Con [-1] accederíamos al último elemento de la lista, con [-2] al penúltimo, con [-3], al antepenúltimo, y así sucesivamente.

Slicing

Si en lugar de un número escribimos dos números inicio y fin separados por dos puntos inicio:fin Python interpretará que queremos una lista que vaya desde la posición inicio a la posición fin, sin incluir este último.
Si escribimos tres números inicio:fin:salto ] en lugar de dos, el tercero se utiliza para determinar cada cuantas posiciones añadir un elemento a la lista.
l = [99, True, “una lista”, [1, 2]]
mi_var = l[0:2] # mi_var vale [99, True]
mi_var = l[0:4:2] # mi_var vale [99, “una lista”]

No es necesario incluir el último elemento: l = [99, True, “una lista”]
mi_var = l[1:] # mi_var vale [True, “una lista”]
[1:] del uno hasta el final.
mi_var = l[:2] # mi_var vale [99, True]
mi_var = l[:] # mi_var vale [99, True, “una lista”]
mi_var = l[::2] # mi_var vale [99, “una lista”]
# El ::2 representa un salto de dos en dos.

También se puede utilizar el operador [] para modificar el contenido de la lista:
l = [99, True, “una lista”, [1, 2]]
l[0:2] = [0, 1] # l vale [0, 1, “una lista”, [1,2]]

Se puede modificar el tamaño de la lista si la lista de la parte derecha de la asignación tiene un tamaño menor o mayor que el de la selección de la parte izquierda de la asignación:
l[0:2] = [False] # l vale [False, “una lista”, [1, 2]]

TUPLAS

Las tuplas son similares a las listas, a excepción de la forma de definirla, para lo que se utilizan paréntesis en lugar de corchetes.
t = (1, 2, True, 'python')

En realidad el constructor de la tupla es la coma , no el paréntesis, pero el intérprete muestra los paréntesis, y nosotros deberíamos utilizarlos, por claridad.
>>> t = 1, 2, 3
>>> type (t)
type tuple

Ojo , para tuplas de un solo elemento:
Hay que tener en cuenta que es necesario añadir una coma para tuplas de un solo elemento, para diferenciarlo de un elemento entre paréntesis:
>>> t = (1)
>>>type (t)
type 'int'

>>> t = (1,)
>>>type (t)
type 'tuple'

Acceso a los elementos de las tuplas:
mi_var = t[0] # mi_var es 1
mi_var = t[0:2] # mi_var es (1, 2)
Podemos utilizar el operador [] debido a que las tuplas , al igual que las listas, forman parte de un tipo de objetos llamados secuencias. Las cadenas de texto también son secuencias , por lo que podremos hacer cosas como estas:
c = “hola mundo”
c[0] # h
c[5:] # mundo
c[::3] # hauo

TUPLAS VS LISTAS

La diferencia entre las tuplas y las listas que es las tuplas NO se pueden modificar , en cambio las listas si se pueden modificar mediante funciones que se comentarán más adelante.
Las listas pertenecen a los tipos llamados mutables y las tuplas y las cadenas son inmutables no se pueden modificar.

DICCIONARIOS

Los diccionarios, también llamados matrices asociativas , deben su nombre a que son colecciones que relacionan una clave y un valor. Son mutables se pueden modificar Por ejemplo, un diccionario de películas y directores:
d = {“Love Actually “: “Richard Curtis”,“Kill Bill”: “Tarantino”, “Amélie ”: “Jean Pierre Jeunet"}

La diferencia principal entre los diccionarios y las listas o las tuplas es que a los valores almacenados en un diccionario no se accede a través de un índice como en las listas. De hecho no tienen orden, sino por su clave, utilizando de nuevo el operador [ ]
d[“Love Actually “] # devuelve “Richard

Al igual que en listas y tuplas también se puede utilizar este operador para reasignar valores.
d[“Kill Bill”] = “ Quentin Tarantino”
Aunque la clave también puede ser un número, pero para esto ya están las listas.

CONJUNTOS
  • Son como las listas, pero no se pueden modificar y tampoco admiten repetidos.
  • Son secuencias pero no se pueden modificar.
  • No soportan indexación [] como las listas, tuplas o diccionarios.
  • Se pueden utilizar para quitar repetidos en una lista.
  • Tampoco son iterables

Sintaxis parecida a los diccionarios pero sin las claves: c = {5,7,3,2,1}

CADENAS
  • Las cadenas de caracteres pueden ir entre comillas dobles o simples
  • ‘Esto es una cadena en python'
  • El operador + en las cadenas concatena. “hola” + “adios ” = "holaadios"
  • El operador * en las cadenas, repite tantas veces: “hola” * 3 = "holaholahola"
  • Con el operador in , podemos determinar si una cadena se encuentra contenida en otra.
  • Las cadenas se pueden indexar con el operador []. Indicando el índice: de 0 a len (cadena)-1
  • Las cadenas al igual que las listas permiten slicing.

Secuencias de escape
\a Bell
\b Espacio atrás
\f Alimentación de formulario.
\r Retorno de carro.
\t Tabulador horizontal.
\v Tabulador vertical.
\\ Escapar la barra.
\' Escapar la comilla simple.
\" Escapar las dobles comillas.

Indices (válido para listas y cadenas)

python,tipos,colecciones,iterables,lista,list,diccionario,dict,conjunto,set codigo, articulos, tecnicos, programacion, informatica


Cursos recomendados:
PY01