58) "Pila" en Python [1/2]

Posted by Leek | Posted on 6:13 p. m.

Hola a todos, hace ya como cuatro o cinco posts que no pongo algo realmente interesante en este blog, así que decidí poner algo de código en Python, el cual subí a LWP (La Web del Programador).

El código simula a una pila mediante una lista, pero primero veamos las definiciones:



"Pila": Una pila es eso, una pila donde se meten datos, en este caso, la pila simulada alberga números en sistema decimal, aunque se le puede meter cualquier otro caracter, o se le pueden meter cadenas. Las pilas son un tipo de estructuras de datos.
Para ver como funciona una pila vean esto, supongamos que se acaba de apilar el número 3 en la pila:
-----
| 3 |
-----

Y despues apilamos el numero cinco:
-----
| 5 |
-----
| 3 |
-----

Bueno, ahora que tenemos nuestra pila con dos elementos, hagamos algo con uno de ellos.

Ahora imaginen que cada elemento es un dado, no se puede quitar el dado con el número 3 pues el dado con el número cinco caería, bueno, pues eso mismo pasa con las pilas en informática, solo se puede usar el último elemento, en este caso el número 5, y solo ese, podemos mostrarlo o desapilarlo, pero no podemos hacer nada con el número 3.
Y eso es, básicamente, una pila.



"Lista": La lista es pues eso, una lista, y también es otro tipo de estructura de datos, pero nos permite más flexibilidad con el manejos de los datos albergados.

Bueno, las listas en Python se colocan con los corchetes es decir, los símbolos [ y ].

Ahora, creemos una lista 'x' vacía, que sería:

x = []

Ahora, para meter un elemento en la lista se usa la funcion 'append()', por ejemplo, si queremos meter el número 3 en la lista sería:

x.append(3)

Y ya está en la lista; para ver la lista usamos la funcion 'print()', que sería

print(x)

Eso imprime la lista, y si realizamos estos pasos en la linea de comandos de Python, y ejecutamos 'print()', nos saldría:

[3]

Eso solo si tenemos el elemento '3' en la lista, pero si la lista está vacía, solo nos mostrará:

[]

Ahora, tenemos el elemento '3' en la lista y queremos meter el elemento '5', asi que tecleamos 'x.append(5)'. Ahora mostramos la lista con la función 'print()', o sea que tecleamos 'print(x)', y nos saldría:

[3,5]

Bueno, la numeración de elementos en una lista en Python va desde el cero, es decir, si tenemos que la lista es:

[3,5]

el elemento 3'', sería el elemento número 0 de la lista, y el '5' sería el elemento número 1.

Para mostrarles eso, supongamos que ahora creamos otra lista 'y' con los elementos 6 y 7, que sería:

y = [6,7]

Si tecleamos print(y), nos mostraría:

[6,7]

Bueno, ahora, queremos multiplicar 6 por 3 de las dos diferentes listas. Para invocar a un elemento de una lista, tecleamos 'x[número_de_elemento]'.

Es decir, si tecleamos x[0], nos mostrará '3', que es el elemento número 0 de la lista 'x'.

Ahora, la multiplicacion, como dijimos que se multiplicaría 3 por 6, entonces se multiplica el elemento 0 de la lista 'x' y el elemento 0 de la lista 'y', así que se teclea:

x[0]*y[0]

y nos devolverá el resultado de la multiplicación:

18

Suponiendo que queremos saber cuantos elementos hay en una lista, pero sin tener que contarlos, pues el usuario no puede verlos en la mayor parte de las ocasiones, podemos invocar a la funcion 'len()' para que nos devuelva el número de elementos que hay en una lista, por ejemplo, si tecleamos:

len(x)

nos mostrará el número de elementos que hay en la lista 'x', que en este caso son dos, así que nos mostrará el número '2'.

Ahora, podemos ver el último elemento de una lista colocando realizando lo siguiente. Primero creamos una lista 'z', con cuatro elementos:

z = [6,7,8,9]

Después tecleamos:

print(z[-1])

y nos mostrará el elemento '-1' de la lista, que en este caso es el número 9.

Bueno, ahora lo último; quitar un elemento de la lista. Para eso, usamos la función 'pop()'. Por ejemplo, si queremos quitar el último elemento de la lista 'z', en este caso el '9', ponemos:

z.pop()

Y ya nos quita el elemento, pero si quisieramos quitar el elemento 2, es decir, el número '8', ponemos:

z.pop(2)

y nos quitara el numero '8'.

Bueno, esa es la primera parte de este... no se como llamarlo. Esperen la segunda y última parte, la parte interesante, donde colocaré el código fuente de la simulación de la pila en Python.

Hasta pronto.

Comments posted (0)