Documente Academic
Documente Profesional
Documente Cultură
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
Creacin de listas o
En python a lo que normalmente se conoce como arreglos los
llamaremos listas.
Conceptualmente una lista describe mejor como funcionan los arreglos
Clase 23
6 / 25
Python Listas
Tipos en listas
Dado que el tipo de las variables es dinmico, las listas soportan a
Ejemplo: Listas con mltiples tipos u 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 funcin len(a) o 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 fcilmente un pedazo de ellas. a Este pedazo es una copia de los elementos indicados. Se da la posicin de inicio y la de nal (no la incluye) separadas por : o 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
Modicacin o
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 revs e
Clase 23 11 / 25
Python numpy
numpy
Clase 23
12 / 25
Python numpy
Qu es numpy? e
NUMeric PYthon numpy es un mdulo cuyo propsito es proveer funcionalidades para la o o computacin cient o 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 bsico de Numpy, un arreglo n-dimensional de oats (puede a
ser complejo)
Se deben crear expl citamente a travs de la funcin array e o Recibe como parmetro una lista a
Se indexan y acceden igual que las listas bsicas de python a Soporta sub-listas y los mismos mtodos e Ejemplo: Creacin de array o 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
Operaciones aritmticas e
Es posible aplicar operaciones aritmticas a los array de numpy e array +-*/ array suma/resta/multiplica/divide elemento con elemento array +-*/ nmero suma/resta/multiplica/divide cada elemento u del array con el nmero u array ** nmero eleva cada elemento del array al nmero u u Tambin soporta comparaciones e Ejemplo: Operaciones aritmticas con numpy.array e from numpy import * a = arange (1 , 11 , 2) b = linspace ( -3 , 10 , 5) print a print b print a + b print a - 2 print a * b print b /2 print a **2
Operaciones matemticas a
Se pueden aplicar funciones matemticas sobre cada componente del a
arreglo
Ejemplo: Operaciones matemticas con numpy.array a 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
Mtodos e
numpy.array dene una serie de mtodos adicionales a las listas e
Mtodos e
Ms mtodos: a e argmax/argmin([axis]) retorna el ndice del mayor/menor elemento del array
Puede recibir como parmetro la dimensin en la cual buscar a o En el caso anterior retorna un array con el mximo/m a nimo en cada posicin o 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 dimensin, retorna la suma en esa dimensin o o cumsum([axis]) retorna un array con las sumas acumuladas para
Clase 23
cada posicin o mean([axis]) retorna el promedio de los elementos var([axis]) retorna la varianza de los elementos std([axis]) retorna la desviacin estndar de los elementos o a 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 interpretacin matricial o Operaciones se realizan en el sentido matricial Divisin de matrices no est denida o a 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 lgebra lineal a Solucin de sistemas lineales A x = b o 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