1067 visitas
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.
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]]
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
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.
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.
Sintaxis parecida a los diccionarios pero sin las claves: c = {5,7,3,2,1}