Arreglos en Python


Tarea #1: Arreglos en python

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.

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.
Ejemplos:

Array con 6 elementos, pide 6 datos y luego los muestra en orden contrario al que se han introducido

datos = [0,0,0,0,0,0]
for i in range(1,7):
    datos[i-1] = int( input( "Dime el dato numero {}: ".format(i) ))
print ("Los datos al reves son: ")
for i in range(6,0,-1):
    print ( datos[i-1] )
En Python, los arrays pueden ir aumentando de tamaño (comparado con otros lenguajes de programación, en este sentido se parecen más a lo que en muchos lenguajes de programación se conoce como "listas"). Así, podemos partir de un array vacío e ir añadiendo elementos con ".append":

datos = []
for i in range(1,7):
    nuevoDato = int( input( "Dime el dato numero {}: ".format(i) ))
    datos.append(nuevoDato)
print ("Los datos al reves son: ")
for i in range(6,0,-1):
    print ( datos[i-1] )
Nota: No podemos crear el array vacío con "datos = []" y luego dar valor a un elemento con "datos[0]=5", porque obtendríamos un mensaje de error que nos avisa de que nos hemos salido del rango de los datos. Deberemos reservar todas las posiciones (como en el primer ejemplo) o bien usar ".append" (como en el segundo).

También podemos saber la cantidad de datos con "len(datos)", eliminar un elemento con ".remove", insertar en una cierta posición con ".insert", o añadir toda una nueva lista de datos con "+", como en este ejemplo:

datos = [5,6,7,8,9]
for i in range(0,5):
    print ( datos[i] , end=" " )
print()
 
datos.remove(6)
for i in range(0, len(datos)):
    print ( datos[i] , end=" " )
print()
 
datos[0]=-2
for i in range(0,len(datos)):
    print ( datos[i] , end=" " )
print()
 
datos.insert(1,23)
for i in range(0,len(datos)):
    print ( datos[i] , end=" " )
print()
 
datos = datos + [31,32,33]
for i in range(0,len(datos)):
    print ( datos[i] , end=" " )
print()
Cuyo resultado sería

5 6 7 8 9 
5 7 8 9 
-2 7 8 9 
-2 23 7 8 9 
-2 23 7 8 9 31 32 33

Comentarios