El concepto de secuencia es muy potente y no se limita a las cadenas. Python nos permite definir secuencias de valores de cualquier tipo. Por ejemplo, podemos definir secuencias de números enteros o flotantes, o incluso de cadenas. Hablamos entonces de listas. En una lista podemos,por ejemplo, registrar las notas de los estudiantes de una clase, la evolución de la temperatura hora a hora, los coeficientes de un polinomio, la relación de nombres de personas asistentes a una reunión, etc.
Python sigue una notación especial para representar las listas. Los valores de una lista deben estar encerrados entre corchetes y separados por comas. He aquí una lista con los números del 1 al 3:
>>> [1, 2, 3]
[1, 2, 3]
Podemos asignar listas a variables:
>>> a = [1, 2, 3]
>>> a
[1, 2, 3]
Introducción a la Programación con Python
En 2003 Andrés Marzal e Isabel Gracia crearon 5 Tipos estructurados: secuencias
Los elementos que forman una lista también pueden ser cadenas.
>>> nombres = [’Juan’, ’Antonia’, ’Luis’, ’Mar´ıa’]
Y también podemos usar expresiones para calcular el valor de cada elemento de una lista:
>>> a = [1, 1+1, 6/2]
>>> a
[1, 2, 3]
Python almacena las listas del mismo modo que las cadenas: mediante referencias (punteros)
A la secuencia de elementos. Así, el último ejemplo hace que la memoria presente un aspecto como el que muestra el siguiente diagrama:
a 1
0
2
1
3
2
La asignación a una variable del contenido de otra variable que almacena una (referencia a una) lista supone la copia de, únicamente, su referencia, así que ambas acaban apuntando a la misma zona de memoria:
>>> a = [1, 2, 3]
>>> b = a
a 1
0
2
1
3
2
b
La lista que contiene un sólo elemento presenta un aspecto curioso:
>>> a = [10]
>>> b = 10
a 10
0
b 10
Observa que no es lo mismo [10] que 10. [10] es la lista cuyo único elemento es el entero 10, y 10 es el entero 10. Gráficamente lo hemos destacado enmarcando la lista y disponiendo encima de la celda su índice. Si pedimos a Python que nos muestre el contenido de las variables a y b, veremos que la representación de la lista que contiene un escalar y la del escalar son diferentes:
>>> print a
[10]
>>> print b
10
La lista siempre se muestra encerrada entre corchetes.
Del mismo modo que hay una cadena vacía, existe también una lista vacía. La lista vacía se denota así:
[] y la representamos gráficamente como la cadena vacía:
>>> a = []
a
>>> print a
Cosas que, sin darnos cuenta, ya sabemos sobre las listas
Una ventaja de Python es que proporciona operadores y funciones similares para trabajar con tipos de datos similares. Las cadenas y las listas tienen algo en común: ambas son secuencias de datos, así pues, muchos de los operadores y funciones que trabajan sobre cadenas también lo hacen sobre listas.
Por ejemplo, la función len, aplicada sobre una lista, nos dice cuantos elementos la integran.
Comparación de listas
Los operadores de comparación también trabajan con listas. Parece claro como se comportarán operadores como el de igualdad (==) o el de desigualdad (!=):
si las listas son de talla diferente, resolviendo que las listas son diferentes;
y si miden lo mismo, comparando elemento a elemento de izquierda a derecha y resolviendo que las dos listas son iguales si todos sus elementos son iguales, y diferentes si hay algún elemento distinto.
Hagamos un par de pruebas con el interprete de Python:
>>> [1, 2, 3] == [1, 2]
False
>>> [1, 2, 3] == [1, 2, 3]
True
>>> [1, 2, 3] == [1, 2, 4]
False
Los operadores <, >, <= y >= también funcionan con listas. ¿Cómo? Del mismo modo que
con las cadenas, pues al fin y al cabo, tanto cadenas como listas son secuencias. Tomemos, por ejemplo, el operador <>
EJERCICIOS
Ejercicio No. 214 [1] [0]
No aparece nada.
No aparece nada.
Ejercicio No. 215
For i in [1, 2, 3]:
Print i
Ejercicio No.216
Print i
Ejercicio No.216
print ’Principio’
for i in [ ]:
print ’paso’, i
print ’y fin’
Escribe principio
Ejercicio No.217 For i in [1] * 10:
print
escribe 1, 10 veces
Ejercicio No.218
for i in [ ]:
print ’paso’, i
print ’y fin’
Escribe principio
Ejercicio No.217 For i in [1] * 10:
escribe 1, 10 veces
Ejercicio No.218
No hace nada
Ejercicio No.219.
Ejercicio No.219.
compara 2 listas
No hay comentarios:
Publicar un comentario