Cargando



Estructuras de Datos en Python

En este tutorial vamos a introducir un nuevo concepto, el cual es las estructuras de datos de Python, estas son aproximadamente seis, sin embargo las más comunes y tal vez las más usadas son las listas, en estos dos tutoriales veremos a fondo los métodos y las operaciones que se pueden realizar sobre las mismas.


oct 22 2014 21:22
Avanzado
oct 22 2014 21:42

Estructuras Datos 2/2



En esta segunda parte del tutorial vamos a seguir explorando las diversas opciones y herramientas que tenemos para trabajar con estas estructuras de datos, de forma que podamos incorporarlas en nuestros programas de manera más rápida y eficiente.

Asignación de partes


Otra poderosa herramienta que tenemos para trabajar es la asignación de porciones o slices que no es otra cosa que asignar elementos en trozos a una lista.

Veamos el siguiente ejemplo, supongamos que construimos nuestra lista inicial:
>>> name = list('Perl')
>>> name
['P', 'e', 'r', 'l']


Y queremos hacer el cambio de la siguiente forma:
>>> name[2:] = list('ar')

Ahora al imprimir nuestra lista obtenemos lo siguiente:
>>> name
['P', 'e', 'a', 'r']


Como ven pudimos cambiar dos posiciones de una sola vez en la asignación por porciones, bastante impresionante, recordemos ahora lo que habíamos mencionado con anterioridad que no podíamos asignar a posiciones inexistentes, ahora con este método podemos hacerlo sin ningún inconveniente, fijémonos en el siguiente código:

Creamos nuestra lista:
>>> name = list('Perl')

Y ahora asignamo el valor:
>>> name[1:] = list('ython')

Al imprimir vemos como cambiamos y modificamos el tamaño de nuestra lista inicial:
>>> name
['P', 'y', 't', 'h', 'o', 'n']


Bastante impresionante y sencillo este tipo de asignaciones, que tal si no queremos sustituir un valor dentro de nuestra lista si no que queremos agregar uno nuevo, el siguiente código nos muestra cómo:
>>> numbers = [1, 5]
>>> numbers[1:1] = [2, 3, 4]
>>> numbers
[1, 2, 3, 4, 5]


Métodos del objeto List


Ahora veremos algunos de los métodos disponibles cuando creamos una lista, en este caso cuando creamos una lista podemos acceder a los métodos de su clase para realizar más operaciones de forma muy sencilla, veamos un primer ejemplo para que nos pongamos en contexto.

Iniciamos asignando nuestra lista:
>>> lst = [1, 2, 3]

Digamos que queremos asignar un nuevo elemento, es decir hacer crecer el tamaño de la lista en 1 elemento, podemos hacer lo siguiente:
>>> lst.append(4)

Imprimimos el contenido y nos fijamos como cambió la lista.
>>> lst
[1, 2, 3, 4]

En esta parte es importante destacar que la palabra list es una palabra reservada y si la utilizáramos para nombrar nuestra lista no podríamos ejecutar ninguno de estos métodos que estamos viendo.

Contar


Qué tal si quisiéramos encontrar coincidencias de un elemento dentro de la lista y además quisiéramos saber cuántas veces se repite, esto que en otros lenguajes se resolvía haciendo un algoritmo bastante tedioso, en Python lo hacemos simple y legible de la siguiente forma:
>>> ['to', 'be', 'or', 'not', 'to', 'be'].count('to')
2


Se ve bastante sencillo en la aplicación y que poderosa resulta esta funcionalidad que inclusive puede ser mucho más compleja como veremos:
>>> x = [[1, 2], 1, 1, [2, 1, [1, 2]]]
>>> x.count(1)
2
>>> x.count([1, 2])
1


El método Extend


Este método nos permite extender una lista con otra, veamos un ejemplo ya que el código es bastante simple de seguir.
Primero creamos dos listas:
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]


Luego simplemente decimos que queremos extender la lista a con la lista b
>>> a.extend(<img src='http://www.solvetic.com/public/style_emoticons/default/cool.png' class='bbc_emoticon' alt='B)' />

Ahora imprimimos nuestra lista resultante:
>>> a
[1, 2, 3, 4, 5, 6]


Aunque pueda parecer simple concatenación no lo es, veamos una concatenación para visualizar las diferencias:
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a + b
[1, 2, 3, 4, 5, 6]
>>> a
[1, 2, 3]


Como vemos la lista a conserva sus elementos como originalmente fueron definidos.

Bien, esto es todo en esta segunda parte de nuestro tutorial de estructura de datos, se recomienda practicar estas herramientas y encontrarle la lógica a cada ejemplo para poder dominar este grandioso y robusto lenguaje.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X