Documentos de Académico
Documentos de Profesional
Documentos de Cultura
23 - Python, Listas y Arreglos
23 - Python, Listas y Arreglos
Python
Listas y Arreglos
20/octubre/2010
Rev : 103
Clase 23 1 / 25
Python
En esta clase
Clase 23
2 / 25
Clase 23
3 / 25
Resumen Clase 22
Python es un lenguaje interpretado y multiparadigma Puede tener clases, funciones, variables globales, . . . No tiene main expl cito Las variables no necesitan ser declaradas, simplemente se usan No tienen un tipo jo, este depende del contenido La forma de pensar no cambia.
Clase 23
4 / 25
Python Listas
Listas
Clase 23
5 / 25
Python Listas
Creaci on de listas
En python a lo que normalmente se conoce como arreglos los
llamaremos listas.
Conceptualmente una lista describe mejor como funcionan los arreglos
b asicos en python. Para crearlas se utilizan par entesis de corchete, y los elementos se
Clase 23
6 / 25
Python Listas
Tipos en listas
Dado que el tipo de las variables es din amico, las listas soportan
Ejemplo: Listas con m ultiples tipos a = [1 , 2.35 , texto , 4 , palabra ] Por supuesto una lista puede tener otras listas en su interior Ejemplo: Listas con otras listas a = [1 , 2.35 , texto , [1 , 2 , 3] , palabra ]
Clase 23
7 / 25
Python Listas
Indices
Los ndices comienzan desde 0 Se pueden usar ndices negativos Parten desde el nal El ndice -i equivale a len(a)-i El largo de la lista se obtiene con la funci on len(a) Ejemplo: Indices en listas a = [1 , 2 , 3 , 4 , 5] print a [1] # muestra un 2 print a [ -2] # muestra un 4
Clase 23
8 / 25
Python Listas
Sub-listas
Las listas permiten obtener f acilmente un pedazo de ellas. Este pedazo es una copia de los elementos indicados. Se da la posici on de inicio y la de nal (no la incluye) separadas por : Si no se indica la de inicio se asume que es la 0 Si no se indica la de nal se asume que es len(a) Ejemplo: Sub-listas a = [1 , 2 , 3 , 4 , 5] b = a [2:] # [3 , 4 , 5] c = a [1: -1] # [2 , 3 , 4] d = a [:2] # [1 , 2] e = a [:] # crear una copia de a
Clase 23
9 / 25
Python Listas
Modicaci on
Las listas son modicables: se pueden cambiar elementos, agregar elementos, eliminar elementos. Ejemplo: Modicar listas a = [1 , 2 , 3 , 4 , 5] a [0:2] = [6 , 7] # a = [6 , 7 , 3 , 4 , 5] a [0:2] = [] # a = [3 , 4 , 5] a [1:1] = [10 , hola ] # a = [3 , 10 , hola , 4 , 5] a [:] = [] # vaciar a
Clase 23
10 / 25
Python Listas
la lista
count(x) retorna la cantidad de apariciones del elemento en la lista sort() ordena la lista reverse() pone los elementos de la lista al rev es
Clase 23 11 / 25
Python numpy
numpy
Clase 23
12 / 25
Python numpy
Qu e es numpy?
NUMeric PYthon numpy es un m odulo cuyo prop osito es proveer funcionalidades para la computaci on cient tica:
array n-dimensional con muchas funcionalidades, manejo especial para matrices, funciones para algebra lineal, transformada de Fourier, . . .
Clase 23
13 / 25
numpy.array
numpy
Clase 23
14 / 25
array en numpy
Es el tipo b asico de Numpy, un arreglo n-dimensional de oats (puede
ser complejo)
Se deben crear expl citamente a trav es de la funci on array Recibe como par ametro una lista
Se indexan y acceden igual que las listas b asicas de python Soporta sub-listas y los mismos m etodos Ejemplo: Creaci on de array from numpy import * a = array ([10 , 20 , 30 , 40]) # arreglo 1 - D a = array ([[1 , 2] , [3 , 4]]) # arreglo 2 - D
Clase 23
15 / 25
arreglo
Ejemplo: Operaciones matem aticas con numpy.array from numpy import * t = linspace (0 ,10 ,30) y1 = exp ( t ) # exp . de cada elemento de t y2 = sin ( t ) # seno de cada elemento de t y3 = log10 ( t ) # log base 10 y4 = log ( t ) # log base e y5 = sqrt ( t ) # raiz cuadrada # Tambien se pueden combinar y6 = 10.* exp ( t ) + 4.* sin ( t ) - log10 ( t ) / (1 + t **3)
Clase 23 18 / 25
M etodos
numpy.array dene una serie de m etodos adicionales a las listas
M etodos
M as m etodos: argmax/argmin([axis]) retorna el ndice del mayor/menor elemento del array
Puede recibir como par ametro la dimensi on en la cual buscar En el caso anterior retorna un array con el m aximo/m nimo en cada posici on min/max([axis]) retorna el mayor/menor elemento en el array sum([axis]) retorna la suma de los elementos del array Si se le indica una dimensi on, retorna la suma en esa dimensi on cumsum([axis]) retorna un array con las sumas acumuladas para
Clase 23
cada posici on mean([axis]) retorna el promedio de los elementos var([axis]) retorna la varianza de los elementos std([axis]) retorna la desviaci on est andar de los elementos prod([axis]) retorn el producto de los elementos cumprod([axis]) retorna un array con el producto acumulado
20 / 25
numpy
numpy.matrix
Clase 23
21 / 25
numpy.matrix
Implementa el caso especial de arreglo 2D con interpretaci on matricial Operaciones se realizan en el sentido matricial Divisi on de matrices no est a denida Si A es matriz, su inversa es A.I y su transpuesta A.T Se pueden combinar en operaciones con array (devuelve array) Ejemplo: Matrices from numpy import * a = matrix ([[1 ,2] ,[5 , -7]]) b = matrix ([[3 ,2] ,[1 ,8]]) c = a*b
Clase 23 22 / 25
Comparacion
Ejemplo: Matrix vs. Array from numpy import * a = matrix ([[1 ,2] ,[5 , -7]]) b = matrix ([[3 ,2] ,[1 ,8]]) c = a*b d = array ([[1 ,2] ,[5 , -7]]) e = array ([[3 ,2] ,[1 ,8]]) f = d*e print c print f
Clase 23 23 / 25
numpy
numpy.linalg
Clase 23
24 / 25
numpy.linalg
Provee funciones para hacer algebra lineal Soluci on de sistemas lineales A x = b Ejemplo: Ecuaciones Lineales from numpy import * from numpy import linalg A = array ([[1 ,2 ,3] ,[5 , -7 ,3] ,[4 ,7 ,8]]) b = array ([[1] ,[ -5] ,[2]]) x = linalg . solve (A , b ) print x
Clase 23
25 / 25