martes, 9 de octubre de 2018

Unidad 3: Arreglos Python

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.



Para definir el array:

lista = [1,2,3,4,5]


Si queremos referenciar a un elemento concreto del array, lo haremos indicando su índice. Indicando el índice a un array, accederemos a un elemento concreto. Imprimir un elemento de una lista:

print lista[0]

Y para asignar un valor a un elemento del array, sería:

lista[0] = 9

Si queremos añadir un elemento a un array de Python podemos hacerlo a través de dos vías. La primera de ellas es utilizar el método append el cual te brinda la posilidad de agregar un elemento determinado a un array. A continuación puedes ver su uso:

lista.append(6)


La segunda vía será la de jugar con el índice tal y como te hemos enseñado antes. Tendremos que calcular la longitud del array para pasársela como índice al array. Pero si calculamos la longitud del array reemplazaremos el último valor del mismo. Error, el array comienza con el índice cero, índice que también se contabiliza al hacer el len.


lista[len(lista):] = [7]

En este caso se está realizando una extensión, así que el valor del elemento a añadir va entre corchetes. Por lo tanto es lo mismo que si hubiésemos utilizado el método .extend():

lista.extend([7])


EJEMPLO:
lista = [1, 2.5, 'DevCode', [5,6] ,4]

Una lista es un arreglo de elementos donde podemos ingresar cualquier tipo de dato, para acceder a estos datos podemos hacer mediante un índice.
print lista[0] # 1print lista[1] # 2.5print lista[2] # DevCodeprint lista[3] # [5,6]print lista[3][0] # 5print lista[3][1] # 6print lista[1:3] # [2.5, 'DevCode']print lista[1:6] # [2.5, 'DevCode', [5, 6], 4]print lista[1:6:2] # [2.5, [5, 6]]


Como pueden darse cuenta podemos hasta insertar una lista dentro de otra lista.
for element in lista:    print element


Si no quieres estar imprimir uno por uno los elementos de una lista, puedes recorrerlo utilizando un for.

Métodos de las Listas


Las listas en Python  tienen muchos métodos que podemos utilizar, entre todos ellos vamos a nombrar los más importantes. Para esto utilizaremos esta lista de ejemplo.
my_list = [2, 5, 'DevCode', 1.2, 5]
Sobre esta vamos a realizar diferentes métodos que son propios de las listas.

Append()

Este método nos permite agregar nuevos elementos a una lista.
my_list.append(10) # [2, 5, 'DevCode', 1.2, 5, 10]my_list.append([2,5]) # [2, 5, 'DevCode', 1.2, 5, [2, 5]]


Podemos agregar cualquier tipo de elemento a una lista, pero tengan en cuenta lo que pasa cuando agregamos una lista dentro de otra, esta lista se agrega como uno y solo un elemento.

Extend()

Extend también nos permite agregar elementos dentro de una lista, pero a diferencia de append al momento de agregar una lista, cada elemento de esta lista se agrega como un elemento más dentro de la otra lista.
my_list.extend([2,5]) # [2, 5, 'DevCode', 1.2, 5, 2, 5]

Remove()

El método remove va a remover un elemento que se le pase como parámentro de la lista a donde se le esté aplicando.
my_list.remove(2) # [5, 'DevCode', 1.2, 5]
En este ejemplo estamos removiendo el elemento 2, de la lista que tiene por nombre "my_list".

Index()

Index devuelve el número de indice del elemento que le pasemos por parámetro.
my_list.index('DevCode') # 2
Aquí estamos preguntando por el indice de la cadena 'DevCode' dentro de la lista "my_list", esto devuelve 2.

Count()

Para saber cuántas veces un elemento de una lista se repite podemos utilizar el metodo count().
my_list.count(5) # 2
Contamos cuantas veces se repite el número 5 dentro de la lista, y esto devuelve 2.

Reverse()

También podemos invertir los elementos  de una lista.
my_list.reverse() # [5, 1.2, 'DevCode', 5, 2]



No hay comentarios:

Publicar un comentario