Estructuras de datos en python

Python es uno de los lenguajes con mas auge hoy en día gracias a la facilidad y velocidad con la que se desarrolla, y a su filosofía de orden y simplicidad. El objetivo de este post es dar un recorrido practico sobre todas las estructuras de datos que nos ofrece este maravilloso lenguaje de programación de forma nativa. Cubriremos lo siguiente:

  • Listas
  • Tuplas
  • Sets
  • Strings
  • Diccionarios

Listas

Las listas o arrays en python son estructuras de datos muy flexibles en las que podemos mezclar valores de varios tipos, o bien que sean de un solo tipo. Su declaración es sencilla y obedece un formato JSON estándar.

Como se ven en estos ejemplos, podemos mezclar números enteros con cadenas e incluso números con puntos decimales.

Ademas una lista en python puede contener en una o mas de sus posiciones otra lista de dimensiones. formando así una lista ortogonal.

Append y Extend

Las dos operaciones básicas en las listas son las de append y extend. La diferencia entre estas dos operaciones es que append agrega un elemento al final de la lista, mientras que extend es capaz de agregar otra lista al final de la lista. Veamos unos ejemplos:

– Append:

– Extend

Operaciones con listas

Ahora veamos todas las operaciones posibles con listas en python:

index

Nos devuelve la posición en la lista del elemento indicado

insert

Inserta un elemento en la lista según el indicie deseado.

remove

De manera similar se puede remover un elemento de la lista.

pop

Pop devuelve el ultimo elemento de la lista y posteriormente lo remueve de la misma.

count

Devuelve la cuenta de elementos actualmente en la lista

Sort

Existen varias posibilidades de ordenar un arreglo según se indique en el método sort. Para ordenar en orden ascendente por default:

o bien en orden descendente.

O se puede simplemente invertir el orden de los elementos sin ordenarlos previamente

Como verán la simplicidad siempre fue tomada en cuenta cuando diseñaron este lenguaje tan maravilloso.

Tuplas

Las tuplas son como las listas, excepto que en este caso son inmutables. Una tupla consiste de varios valores separados por comas.

Algunas funciones de las listas también funcionan en las tuplas, como len y la sintaxis para obtener porciones del arreglo o slicing

Una cosa importante que hay que notar con las tuplas, es que como los paréntesis también se usan en python para agrupar expresiones, si quisiéramos crear una tupla con un solo valor simplemente agregamos una coma al final de esta manera:

Sets

Los sets en python son listas sin un orden específico pero cuyos elementos son únicos, es decir, no existe la repetición. Y para definir uno hay que explícitamente indicar que queremos que la lista sea un set con la función con el mismo nombre,

A partir de python 2.7, podemos usar llaves para definir sets

Podemos agregar nuevos elementos con la función add

Igual que en las listas, podemos revisar si hay un elemento en el set usando la función in 

Strings

Una de las cosas curiosas sobre python, es que en muchas maneras podemos manipular strings de la misma manera como se manipulan las listas. Esto convierte a los strings en una especie de estructura de datos conveniente de usar.

Podemos usar len en un string

Y encontrar partes o segmentos del string según nos parezca conveniente.

asi mismo podemos usar el operador in para buscar en la cadena

Hay varios métodos muy útiles cuando se trata de manipular cadenas como split() el cual guarda la cadena en un arreglo según el carácter que indiquemos, o según los espacios en blanco si no especificamos ninguno.

Si quisieramos volver a unir los elementos del arreglo en un string podemos hacer uso del metodo join 

El metodo strip, remueve el caracter o la secuencia de caracteres de la cadena segun se lo indiquemos.

adenas python soporta formatos en sus strings que nos recuerdan a aquel viejo y confiable preparedStatement

Diccionarios

Un diccionario en python actua de manera similar a una lista, excepto que el indice de este no necesariamente tiene que ser un numero entero, y se asemejan bastante a un objeto JSON

para borrar un elemento de un diccionario, utilizamos el comando del

El mentodo keys devuelve todas las llaves en el diccionario. El metodo value devuelve todos los valores dentro del diccionario, y el metodo items devuelve todos los pares llave-valor dentro del diccionario en cuestion

Podemos iterar facilmente en un diccionario utilizando la notacion for…in

Podemos igual que en todas las estructuras anteriores, buscar dentro de un diccionario con la palabra in

Asi mismo podemos obtener un item de la lista especificamente con el metodo get, y definir que regresar en caso el item no exista dentro del diccionario

Conclusiones

Asi pues, terminamos este repaso de las estructuras de datos que podemos usar en nuestros programas hechos con python. Podemos ver que son muy simples de entender y cumplen con la premisa de escribir menos codigo y hacer mas cosas!

Como siempre queda a su disposicion la caja de comentarios para hacer preguntas, que gustosamente contestare de la mejor manera posible 🙂

Saludos!

Posts Relacionados:

Loading Comments…
more
Allowed HTML tags and attributes: <a href="" title=""> <blockquote> <code> <em> <strong>