colecciones de python

Python tiene cuatro tipos de recopilaciòn de datos: listas, tuplas, conjuntos y diccionarios. El mòdulo Python de colecciones proporciona opciones adicionales, que incluyen namedtuple , Counter , defaultdict y ChainMap .

Python ofrece cuatro tipos de datos de colecciòn: listas, tuplas, conjuntos y diccionarios. Cada uno de estos tipos de datos es √∫til en situaciones especìficas. & Nbsp;

Por ejemplo, debido a que las listas se pueden modificar, es posible que desee utilizar una para almacenar una lista en evoluciòn de nombres de estudiantes. O suponga que desea almacenar una lista de sabores de helado que nunca cambiarán. Una tupla, cuyo contenido no se puede modificar, puede ser más apropiada.

A menudo, cuando está trabajando en Python, puede encontrar que estos tipos de datos no ofrecen todas las funciones que está buscando. Afortunadamente, existe un mòdulo de Python que puede utilizar para acceder a funciones más avanzadas relacionadas con las colecciones de datos: el mòdulo de colecciones de Python.

El mòdulo de colecciones de Python se creò para mejorar la funcionalidad de las opciones de colecciòn integradas y dar a los desarrolladores más flexibilidad al trabajar con estructuras de datos. En esta guìa, analizaremos los conceptos básicos del mòdulo de colecciones de Python y exploraremos cuatro de las estructuras de datos más utilizadas del mòdulo.

Actualizaciòn de colecciones

Las colecciones son tipos de datos de contenedor que se puede utilizar para almacenar datos. Como se mencionò anteriormente, las colecciones pueden almacenar listas, conjuntos, tuplas y diccionarios. Cada uno de estos tipos de datos tiene sus propias caracterìsticas.

Listas

Una lista es un dato ordenado y mutable tipo que se puede utilizar para almacenar datos que pueden cambiar con el tiempo. Por ejemplo, puede agregar, eliminar y actualizar elementos de lista existentes. Las listas pueden contener valores duplicados. Puede usar n√∫meros de ìndice para hacer referencia a elementos individuales dentro de una lista.

El siguiente es un ejemplo de còmo declarar una lista en Python:

El 81% de los participantes declarò que se sentìa más seguro acerca de su perspectivas de trabajo técnico después de asistir a un campamento de entrenamiento. Asigne a un bootcamp hoy.

El graduado promedio de bootcamp pasò menos de seis meses en la transiciòn profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Tuples son tipos de datos ordenados e inmutables. Aunque las tuplas pueden contener valores duplicados, sus valores no se pueden cambiar. Las tuplas están rodeadas por llaves. & Nbsp;

Aquì hay un ejemplo de una tupla de Python:

Conjuntos

Los conjuntos son listas desordenadas. Se declaran utilizando corchetes. A diferencia de las listas, los conjuntos no tienen valores de ìndice y no pueden incluir entradas duplicadas. & Nbsp;

Aquì hay un ejemplo de un conjunto de Python:

Diccionarios

Los diccionarios son tipos de datos cambiantes y desordenados que se pueden indexar. Cada elemento de un diccionario tiene una clave y un valor. & Nbsp;

Aquì hay un ejemplo de una entrada de diccionario de Python:

Estos cuatro tipos de datos tienen una amplia variedad de usos en Python . Sin embargo, si está buscando realizar acciones más avanzadas con tipos de datos de contenedor de Python, vale la pena considerar el mòdulo de colecciones de Python.

El mòdulo de colecciones de Python contiene una serie de estructuras de datos especializadas que puede utilìcelo además de & mdash; o como alternativa a los contenedores integrados de & mdash; Python. Debido a que collections es un mòdulo, tenemos que importarlo a nuestro programa. Sin embargo, está integrado en Python, por lo que no es necesario importar bibliotecas secundarias.

En este artìculo, nos centraremos en las cuatro estructuras de datos más utilizadas del mòdulo de colecciones, que son las siguientes:

  • Contador < / li>
  • namedtuple
  • defaultdict
  • ChainMap

Contador

Contador () es una subclase del objeto de diccionario y se puede usar para contar objetos hash. La funciòn Counter () toma un iterable como argumento y devuelve un diccionario.

Entonces , digamos que tenemos una lista de pedidos de sándwiches para enero y queremos saber cuántos sándwiches BLT vendimos durante ese mes. Podrìamos usar la funciòn Counter () para hacer esto. & nbsp;

Aquì hay un ejemplo del còdigo que usarìamos:

Nuestro programa devuelve: 2 .

Están sucediendo muchas cosas en nuestro còdigo, asì que vamos a desglosarlo.

En la primera lìnea, importamos la funciòn Contador de colecciones . Tenemos que hacer esto porque colecciones es un mòdulo. Luego, declaramos nuestra matriz sandwich_sales , que almacena cuántos sándwiches vendimos en enero.

En la siguiente lìnea, declaramos la variable our_counter y asìgnele la funciòn Counter (sandwich_sales) . Esto nos permite acceder al resultado de la funciòn Counter () cuando hacemos referencia a our_counter .

Finalmente, usamos print (our_counter [ " BLT "]) para imprimir cuántos sándwiches en nuestro diccionario son iguales a BLT . En este caso, la respuesta fue 2 .

namedtuple

El método namedtuple () devuelve una tupla con nombres para cada posiciòn en la tupla. Cuando trabaja con una tupla estándar, la √∫nica forma de acceder a los valores individuales es haciendo referencia a los n√∫meros de ìndice de la tupla. Si estás trabajando con una tupla grande, esto puede volverse confuso rápidamente.

"Career Karma entrò en mi vida cuando más lo necesitaba y rápidamente me ayudò a combinar con un bootcamp. Dos meses después de graduarme, descubrì ¬°el trabajo de mis sue√±os que se alineaba con mis valores y metas en la vida! "

Venus, ingeniero de software en Rockbot

Aquì hay un ejemplo de usar el método namedtuple () para almacenar el nombre y precio de un sándwich:

Nuestro programa devuelve: $ 3.00 .

Hay muchas cosas que suceden en nuestro còdigo, asì que vamos a desglosarlo. En la primera lìnea, importamos namedtuple del mòdulo collections para que podamos usarlo en nuestro còdigo.

En la siguiente lìnea, creamos la tupla Sandwich con el nombre Sandwich y asìgnele dos encabezados: nombre y precio. Esto nos permite usar estos encabezados para hacer referencia a los valores en nuestras tuplas más adelante en nuestro còdigo. A continuaciòn, declaramos una variable llamada first_sandwich , a la que le asignamos el elemento de tupla Chicken Teriyaki .

Finalmente, imprimimos el precio de nuestro first_sandwich , que en este caso es $ 3.00.

También puedes crear un namedtuple () usando una lista. Aquì tienes un ejemplo:

Nuestro programa devuelve: Italiano picante . En este ejemplo, usamos _make además de nuestro elemento Sandwich para indicar que queremos convertir nuestra lista en un namedtuple () . & nbsp;

defaultdict

El método defaultdict () puede usarse para crear un diccionario Python que no arroje un KeyError cuando intentas acceder a un objeto que no existe. En cambio, si haces referencia a un objeto que no existe, el diccionario devolverá un tipo de datos predefinido.

Aquì tienes un ejemplo que usa el defaultdict () método t o declarar un diccionario que devolverá un str si hacemos referencia a un objeto inexistente:

Nuestro programa devuelve:

En el ejemplo anterior, creamos un diccionario con valores en las posiciones de ìndice y 1 . Cuando imprimimos sandwiches [1] , podemos ver que nuestro diccionario almacena nuestros valores. Sin embargo, cuando intentamos imprimir el elemento asociado con el valor de ìndice 2 , nuestro programa devuelve una lìnea en blanco porque no hay ning√∫n valor asignado a ese ìndice.

En un estándar diccionario, nuestro programa devolverìa un KeyError. Sin embargo, debido a que usamos defaultdict , nuestro programa devuelve el tipo de datos que especificamos cuando creamos el diccionario. En el ejemplo anterior, indicamos que cualquier clave no válida deberìa devolver un str , pero podrìamos haberlo codificado para devolver un n√∫mero entero o cualquier otro tipo de datos válido.

Esta funciòn puede será √∫til cuando esté trabajando con un diccionario para realizar una operaciòn en varios elementos, pero es posible que la operaciòn no funcione en cada elemento. En lugar de hacer que su programa devuelva un error, defaultdict () devolverá un valor predeterminado y seguirá ejecutándose.

ChainMap

El ChainMap El método () se utiliza para combinar dos o más diccionarios; devuelve una lista de diccionarios. Por ejemplo, digamos que tenemos dos men√∫s, un men√∫ estándar y un men√∫ secreto, que queremos fusionar en un men√∫ grande. Para hacer esto, podrìamos usar la funciòn ChainMap () .

Aquì hay un ejemplo del uso de ChainMap () para fusionar nuestro estándar y men√∫s secretos:

Nuestro còdigo devuelve un objeto ChainMap que fusionò nuestros dos men√∫s, de la siguiente manera:

Podemos acceder a cada valor en nuestro ChainMap haciendo referencia a su nombre de clave. Por ejemplo, aquì hay una lìnea de còdigo que nos permite recuperar el precio del sándwich BLT:

Nuestro programa devuelve: $ 3.05

Además, es importante tener en cuenta que ChainMap se actualiza cuando se actualizan los diccionarios que contiene. Por lo tanto, si cambia un valor en el standard_menu o secret_menu diccionarios, el objeto ChainMap también se actualizará. Aquì hay un ejemplo:

Nuestro còdigo devuelve:

Como puede ver, el precio de nuestro BLT cambiò de $ 3.05 a $ 3.10 porque cambiamos su precio en nuestro diccionario standard_menu .

The Cha El objeto inMap también incluye dos funciones que se pueden usar para recuperar las claves o valores de un objeto. Podemos ilustrar esto usando los métodos keys () y values ‚Äã‚Äã() . Estos métodos devuelven las claves de nuestros datos (que podemos usar para hacer referencia a un valor particular) y los valores que se les han asignado:

Nuestro còdigo devuelve lo siguiente:

Nuestro còdigo devolviò las claves y valores de cada elemento en nuestro objeto ChainMap cuando usamos los métodos keys () y values ‚Äã‚Äã() anteriores.

Además, puede agregar un nuevo diccionario a un objeto ChainMap usando el método new_child () . Digamos que nuestro chef de sándwiches ha estado probando sándwiches nuevos en un men√∫ de prueba y quiere agregar dos de ellos a nuestro nuevo men√∫. Podrìamos usar el siguiente còdigo para lograr este objetivo:

Nuestro còdigo devuelve un ChainMap actualizado con nuestros nuevos sándwiches al comienzo del diccionario , de la siguiente manera:

Conclusiòn

Podemos usar Python mòdulo de colecciones para ampliar las colecciones integradas que ofrece Python y para acceder a métodos de estructura de datos personalizados. Esto es √∫til si está buscando trabajar con un tipo de datos de colecciòn, como una lista o una tupla, pero necesita realizar una determinada funciòn que no viene en Python vainilla (o simple ).

En esta guìa, usando ejemplos, analizamos còmo usar colecciones en Python y discutimos los cuatro métodos principales que ofrece la biblioteca: Counter , namedtuple , defaultdict y ChainMap . & nbsp;

Ahora está equipado con el conocimiento que necesita para comenzar a trabajar con el mòdulo de colecciones de Python como un experto !

¿Tiene curiosidad por saber còmo aprender Python puede ayudarlo a iniciar una carrera en tecnologìa? Descarga la aplicaciòn gratuita Career Karma hoy y habla con uno de nuestros entrenadores profesionales expertos.