martes, 5 de julio de 2016

Capítulo 47 Python: Arreglos, vectores, arrays...(listas y tuplas)


Diario de un programador.- Dia 92

Arreglos, vectores, arrays...

Los arreglos en python son algo especiales, ya que no son arreglos propiamente tal, más bien son listas. Así que de ahora en adelante se hablará de lista y no de arreglo. Eso es porque una lista en python puede contener datos de distintos tipos. Puede contener datos de tipo numéricos, de caracteres, incluso otras listas.

La sintaxis para crear una lista dice así:

nombreDeLista = []

De esta forma se puede crear una lista vacía.

Para crear una lista con datos, se puede hacer de la siguiente forma, separando cada elemento con una coma.

lista = [1,2,3,"lista","python"]

Para mostrar por pantalla la lista anterior, se puede hacer de la siguiente manera:

print(lista)


El primer elemento de la lista tiene como índice cero. Por lo tanto, para mostrar un elemento de la lista, se debe utilizar su índice.

print(lista[3])


También se pueden mostrar elementos de una lista cubriendo un rango, es decir, se pueden mostrar elementos ubicados desde el índice cero hasta el tres, o desde el índice uno hasta el cuatro o lo que sea necesario, siempre y cuando exista un elemento en ese índice. Ejemplo

print (lista[1:4])

Esto mostrará los elementos ubicados desde el índice 1 hasta el índice 4, pero sin incluir el cuarto, o sea hasta N-1. El rango se separa por dos puntos ( : )


Se puede apreciar que se mostraron los elementos ubicados desde el índice 1 hasta el 3, no incluyendo el 4 que es donde termina el rango de elementos.

Las listas permiten ser modificadas, no solamente cambiando unos elementos por otros, sino que también se puede agregar o quitar elementos a la lista. Para agregar elementos a la lista, se utiliza la función "append", que en inglés significa "añadir"

El ejemplo mostrado a continuación, será un promedio de 3 números, los cuales serán solicitados al usuario.

lista = []

for i in range(3):
    numero = int(input("Ingresa numero: "))
    lista.append(numero)
   
suma = sum(lista)
promedio = suma / 3

print ("Promedio:",promedio)


En el código anterior se puede ver el uso de append, esta función permite agregar elementos a la lista. Su sintaxis dice que primero se escribe el nombre de la lista, luego un punto y posteriormente el nombre de esta función. Entre paréntesis, va el dato que se va a añadir a la lista, en este caso, fue el contenido de la variable numero. Cada vez que el usuario escribe un número, este es capturado por la variable numero y posteriormente ese número, se añade a la lista.
En este mismo código se ve otra función interesante, la función "sum()". Esta función permite sumar elementos de una lista. Entre los paréntesis de debe escribir el nombre de la lista que va a sumar. En este código, el resultado de la suma de la lista fue guardado en la variable "suma"
Ejemplo de esta función utilizando el shell:


Otro ejemplo de promedio:

lista = [10,15,2]
   
suma = sum(lista)
promedio = suma / 3

print ("Promedio:",promedio)



Modificando los arreglos

Para modificar un dato de  una lista, simplemente hay que indicar el índice a modificar. Ejemplo

lista = [1, 2, 3, 4, 5]
lista[2] = 10
print(lista)


Matrices

En Python, las matrices son formadas como una lista de listas

Ejemplo:

lista1 = [1,2]
lista2 = [3,4]
matriz = [lista1,lista2]
print (matriz)


Una matriz se caracteriza por estar formada por filas y columnas. Aquí un ejemplo:

fila = 2
columna = 2
matriz = []

for i in range(fila):
    matriz.append([])
    for j in range(columna):
        numero = int(input("Ingresa un numero: "))
        matriz[i].append(numero)

for a in range(fila):
    for b in range(columna):
        print("[%d]" % (matriz[a][b]), end = "")
    print("")


Borrando elementos

Como se dijo antes, también se pueden borrar elementos de las listas, para ello se utiliza la función "del"
Ejemplo:

lista = [1,2,3,4,5]
print (lista)

del lista[2]

print (lista)


Uniendo listas

Y las listas también se pueden unir...

Ejemplo:

lista1 = [1,2,3,4,5]
lista2 = [6,7,8,9,10]

print (lista1)
print (lista2)
print (lista1 + lista2)


Multiplicando listas

Y por si fuese poco, también se pueden multiplicar...

lista1 = [0,1]
print (lista1 * 5)


Tuplas

Una tupla es como una lista, pero en vez de utilizar corchetes, se utilizan paréntesis. De esta forma

tupla = (1,2,3)
print (tupla)


Pero la principal diferencia, es que una vez que una tupla es creada, su contenido no puede ser modificado, es decir, no se pueden cambiar, añadir, borrar o hacer cualquier otra cosa que sí se puede hacer con las listas. Su contenido queda inmodificable, esto puede ser útil para cuando el programador no desee que cierto contenido quede expuesto a ser modificado por algo.

Como se puede ver, uno de los puntos fuertes de python es el trabajo con listas.
Eso es todo por ahora. Hasta la próxima.

Gustavo J. Cerda Nilo
Febrero 2016, última actualización Julio 2016




No hay comentarios:

Publicar un comentario

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...