Sunteți pe pagina 1din 25

Python

ING1310 Introduccin a la Computacin o o

Python
Listas y Arreglos

Mat Recabarren - Andrs Moreno as e mrecabarren@uandes.cl - andres@moreno.cl


Universidad de Los Andes

20/octubre/2010

Rev : 103
Clase 23 1 / 25

Python

En esta clase

1 Resumen Clase Anterior 2 Listas 3 numpy

numpy.array numpy.matrix numpy.linalg

Clase 23

2 / 25

Python Resumen Clase Anterior

Resumen Clase Anterior

Clase 23

3 / 25

Python Resumen Clase Anterior

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

bsicos en python. a Para crearlas se utilizan parntesis de corchete, y los elementos se e

separan por comas.


Funcionan como tipos por referencia. Sintxis Python: Listas a a = [1 , 2 , 3 , 4]

Clase 23

6 / 25

Python Listas

Tipos en listas
Dado que el tipo de las variables es dinmico, las listas soportan a

cualquier tipo en su interior.


Incluso elementos de tipos diferentes

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

Listas como objetos


Las listas automticamente son objetos a y tienen mtodos. e Algunos de esos mtodos: e append(x) agrega un elemento al nal de la lista
a[len(a):] = [x] extend(L) agrega la lista recibida al nal de la lista a[len(a):] = L insert(i,x) inserta el elemento en la posicin indicada o a[i:i] = [x] remove(x) elimina la primera aparicin del elemento en la lista o index(x) retorna el ndice de la primera aparicin del elemento en o

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, . . .

Para utilizarlo simplemente hay que importarlo from numpy import *

Clase 23

13 / 25

Python numpy numpy.array

numpy.array

numpy

Clase 23

14 / 25

Python numpy numpy.array

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

Python numpy numpy.array

Otras formas de crear arreglos


Ejemplo: Creacin de array (ms) o a from numpy import * a = arange (0 ,10) # array ( range (0 ,10) ) b = arange (0 ,10 ,0.5) # array ([0. ,0.5 ,1. ,... ,9.5]) c = zeros ((3 ,3) ) ceros d = ones ((3 ,3) ) unos e = d . copy () e . fill (7) # arreglo 2 - d de 3 x3 lleno de # arreglo 2 - d de 3 x3 lleno de

# copia de d # llenar e con 7 s

f = linspace (1 ,10 ,8) # 8 eltos equidistantes en el rango 1 ,10


Clase 23 16 / 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

Python numpy numpy.array

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

Python numpy numpy.array

Mtodos e
numpy.array dene una serie de mtodos adicionales a las listas e

comunes. Algunos de ellos:


fill(x) todos los elementos del array toman el valor x copy() retorna una copia del array resize(shape) cambia las dimensiones del array, recibiendo una

tupla con el valor para cada dimensin. o


El array no puede estar siendo referenciado por otra variable transpose() retorna el array con los ejes transpuestos En array de 1-D no provoca efectos. flatten() retorna una copia del array en 1-D all() retorna True si todos los elementos son verdaderos (en el

caso nmerico quiere decir distinto de 0) u


any() retorna True si alguno de los elementos es verdadero
Clase 23 19 / 25

Python numpy numpy.array

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

Python numpy numpy.matrix

numpy

numpy.matrix

Clase 23

21 / 25

Python numpy numpy.matrix

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

Python numpy numpy.matrix

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

Python numpy numpy.linalg

numpy

numpy.linalg

Clase 23

24 / 25

Python numpy numpy.linalg

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

S-ar putea să vă placă și