ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Arreglos


Enviado por   •  13 de Septiembre de 2014  •  Exámen  •  3.630 Palabras (15 Páginas)  •  192 Visitas

Página 1 de 15

Arreglos

Las estructuras de datos que hemos visto hasta ahora (listas, tuplas, diccionarios, conjuntos) permiten manipular datos de manera muy flexible. Combinándolas y anidándolas, es posible organizar información de manera estructurada para representar sistemas del mundo real.

En muchas aplicaciones de Ingeniería, por otra parte, más importante que la organización de los datos es la capacidad de hacer muchas operaciones a la vez sobre grandes conjuntos de datos numéricos de manera eficiente. Algunos ejemplos de problemas que requieren manipular grandes secuencias de números son: la predicción del clima, la construcción de edificios, y el análisis de indicadores financieros entre muchos otros.

La estructura de datos que sirve para almacenar estas grandes secuencias de números (generalmente de tipo float) es el arreglo.

Los arreglos tienen algunas similitudes con las listas:

• los elementos tienen un orden y se pueden acceder mediante su posición,

• los elementos se pueden recorrer usando un ciclo for.

Sin embargo, también tienen algunas restricciones:

• todos los elementos del arreglo deben tener el mismo tipo,

• en general, el tamaño del arreglo es fijo (no van creciendo dinámicamente como las listas),

• se ocupan principalmente para almacenar datos numéricos.

A la vez, los arreglos tienen muchas ventajas por sobre las listas, que iremos descubriendo a medida que avancemos en la materia.

Los arreglos son los equivalentes en programación de las matrices y vectores de las matemáticas. Precisamente, una gran motivación para usar arreglos es que hay mucha teoría detrás de ellos que puede ser usada en el diseño de algoritmos para resolver problemas verdaderamente interesantes.

Crear arreglos

El módulo que provee las estructuras de datos y las funciones para trabajar con arreglos se llamaNumPy, y no viene incluído con Python, por lo que hay que instalarlo por separado.

Descargue el instalador apropiado para su versión de Python desde la página de descargas de NumPy. Para ver qué versión de Python tiene instalada, vea la primera línea que aparece al abrir una consola.

Para usar las funciones provistas por NumPy, debemos importarlas al principio del programa:

from numpy import array

Como estaremos usando frecuentemente muchas funciones de este módulo, conviene importarlas todas de una vez usando la siguiente sentencia:

from numpy import *

(Si no recuerda cómo usar el import, puede repasar la materia sobre módulos).

El tipo de datos de los arreglos se llama array. Para crear un arreglo nuevo, se puede usar la funciónarray pasándole como parámetro la lista de valores que deseamos agregar al arreglo:

>>> a = array([6, 1, 3, 9, 8])

>>> a

array([6, 1, 3, 9, 8])

Todos los elementos del arreglo tienen exactamente el mismo tipo. Para crear un arreglo de números reales, basta con que uno de los valores lo sea:

>>> b = array([6.0, 1, 3, 9, 8])

>>> b

array([ 6., 1., 3., 9., 8.])

Otra opción es convertir el arreglo a otro tipo usando el método astype:

>>> a

array([6, 1, 3, 9, 8])

>>> a.astype(float)

array([ 6., 1., 3., 9., 8.])

>>> a.astype(complex)

array([ 6.+0.j, 1.+0.j, 3.+0.j, 9.+0.j, 8.+0.j])

Hay muchas formas de arreglos que aparecen a menudo en la práctica, por lo que existen funciones especiales para crearlos:

• zeros(n) crea un arreglo de n ceros;

• ones(n) crea un arreglo de n unos;

• arange(a, b, c) crea un arreglo de forma similar a la función range, con las diferencias que a, b yc pueden ser reales, y que el resultado es un arreglo y no una lista;

• linspace(a, b, n) crea un arreglo de n valores equiespaciados entre a y b.

>>> zeros(6)

array([ 0., 0., 0., 0., 0., 0.])

>>> ones(5)

array([ 1., 1., 1., 1., 1.])

>>> arange(3.0, 9.0)

array([ 3., 4., 5., 6., 7., 8.])

>>> linspace(1, 2, 5)

array([ 1. , 1.25, 1.5 , 1.75, 2. ])

Operaciones con arreglos

Las limitaciones que tienen los arreglos respecto de las listas son compensadas por la cantidad de operaciones convenientes que permiten realizar sobre ellos.

Las operaciones aritméticas entre arreglos se aplican elemento a elemento:

>>> a = array([55, 21, 19, 11, 9])

>>> b = array([12, -9, 0, 22, -9])

# sumar los dos arreglos elemento a elemento

>>> a + b

array([67, 12, 19, 33, 0])

# multiplicar elemento a elemento

>>> a * b

array([ 660, -189, 0, 242, -81])

# restar elemento a elemento

>>> a - b

array([ 43, 30, 19, -11, 18])

Las operaciones entre un arreglo y un valor simple funcionan aplicando la operación a todos los elementos del arreglo, usando el valor simple como operando todas las veces:

>>> a

array([55,

...

Descargar como (para miembros actualizados)  txt (20.9 Kb)  
Leer 14 páginas más »
Disponible sólo en Clubensayos.com