Python namedtuple

Python namedtuple

Python presenta muchas estructuras de datos incorporadas como listas, diccionarios y tuplas para almacenar y administrar los datos de manera eficiente. El NiceTuple es el contenedor similar al diccionario disponible en el módulo "Colecciones". Similar a los diccionarios, el NameTuple también contiene las teclas que se asignan a los valores. Sin embargo, el TamenTuple permite acceder a los valores a través de claves y a través de índices. En comparación con los diccionarios de Python, acceder a los valores a través de los índices es la funcionalidad adicional en NamedTuple. Este artículo explica el python namedtuple en detalle con ejemplos.

Acceso a los valores desde NamedTuple

Se puede acceder a los valores dentro de NameTuple de las siguientes maneras:

  1. Usando las teclas
  2. Mediante el uso de los índices
  3. Utilizando la función getattr ()

A medida que el TamedTuple convierte el campo en los atributos, por lo tanto, es fácil acceder a los valores utilizando la función getAttr ().

Ejemplos

Ahora veamos algunos ejemplos para comprender la creación y el funcionamiento de NamedTuple. Para crear y usar NamedTuple, primero necesitamos importar el módulo de colecciones. En el siguiente ejemplo dado, se crea un tituple para un maestro. Las claves del NamedTuple son el nombre, la edad y el departamento, respectivamente. Se accede a los valores utilizando índices y claves.

#Importación del módulo de colecciones
Importación de colecciones
#creing a un llamado tuple para un maestro
#Nombre, edad y departamento son las claves
Maestro = colecciones.namedtuple ('maestro', ['nombre', 'edad', 'departamento'])
# crear un nuevo maestro y agregar los valores
maestro_john = maestro ("John", 29, "informática")
#Ascesando los valores del maestro utilizando índices
Imprimir ("Valores de acceso usando índices:")
Imprimir ("El nombre del maestro es:", maestro_john [0])
Imprimir ("La edad del maestro es:", maestro_john [1])
Impresión ("El departamento de maestros es:", maestro_john [2])
#Ascribir los valores del maestro usando claves
Imprimir ("Valores de acceso usando las teclas:")
Imprimir ("El nombre del maestro es:", maestro_john.nombre)
Imprimir ("La edad del maestro es:", maestro_john.edad)
Imprimir ("El departamento de maestros es:", maestro_john.departamento)

Producción

Ahora accedamos a los valores utilizando la función getattr (). El namedtuple y la clave se pasa como un argumento a la función getattr ().

#Importación del módulo de colecciones
Importación de colecciones
#creing a un llamado tuple para un maestro
#Nombre, edad y departamento son las claves
Maestro = colecciones.namedtuple ('maestro', ['nombre', 'edad', 'departamento'])
# crear un nuevo maestro y agregar los valores
maestro_john = maestro ("John", 29, "informática")
#Abregando los valores del maestro usando la función getattr ()
print (getattr (maestro_john, "nombre"))
print (getattr (maestro_john, "edad"))
print (getattr (maestro_john, "departamento"))

Producción

Operaciones populares de NamedTuple

Algunas funciones populares convierten las otras colecciones como listas, diccionarios y tuplas en NamedTuple y devuelven la información de NamedTuple. Las siguientes son las funciones que convierten las otras colecciones a NamedTuple:-

  • _hacer()
  • _asdict ()
  • ** Operador

La función _make () convierte un objeto iterable como la lista y la tupla en un nombre de nombre. La función _asdict () realiza un Dictición de pedidos de NamedTuple y lo devuelve. Por último, el operador ** convierte un diccionario en un tituple llamado. Además, las funciones que devuelven la información de NamedTuple son las siguientes:

  • _campos
  • _reemplazar()

La función _fields () devuelve todos los campos de NamedTuple, mientras que la función _replace () reemplaza un valor particular con otro valor.

Implementemos las funciones como se mencionó anteriormente en nuestro script de Python para convertir las diferentes colecciones en NamedTuple.

#Importación del módulo de colecciones
Importación de colecciones
#creing a un llamado tuple para un maestro
#Nombre, edad y departamento son las claves
Maestro = colecciones.namedtuple ('maestro', ['nombre', 'edad', 'departamento'])
# crear un nuevo maestro y agregar los valores
maestro_john = maestro ("John", 29, "informática")
#Crear una lista
maestro_list = ["Marca", 30, "Administración de empresas"]
#creing un diccionario
maestro_dict = 'nombre': 'talor', 'edad': 32, 'departamento': 'economía'
#Using _make () Función para convertir la lista en NamedTuple
Imprimir ("Lista a NamedTuple Conversion:")
Impresión (profesor._make (maestro_list))
#Uso de la función _asdict () para hacer un dictición de pedidos
Imprimir ("Hacer el Dictición de orden:")
Imprimir (maestro_john._asdict ())
#Uso del ** Convertir un diccionario en un Tanedtuple
imprimir ("convertir el diccionario en namedtuple:")
Impresión (maestro (** maestro_dict))

Producción

Ahora usemos las funciones _fields (), y _replace () para obtener la información de las claves y reemplazar las claves, respectivamente.

#Importación del módulo de colecciones
Importación de colecciones
#creing a un llamado tuple para un maestro
#Nombre, edad y departamento son las claves
Maestro = colecciones.namedtuple ('maestro', ['nombre', 'edad', 'departamento'])
# crear un nuevo maestro y agregar los valores
maestro_john = maestro ("John", 29, "informática")
#Uso de _fields funciona para obtener las claves de namedtuple
Imprimir ("Las claves de NamedTuple son:")
Impresión (profesor._campos)
#Uso de la función _replace para reemplazar el valor
imprimir ("El valor de reemplazo del nombre es:")
Imprimir (maestro_john._replace (name = 'Donald'))

Producción
En la salida, se puede ver que la función _fields devuelve las claves de información, y la función _replace () reemplaza el nombre correctamente.

Conclusión

El namedtuple es el contenedor similar al diccionario presente en el módulo "colecciones". Contiene la clave y mapea los valores a la tecla. A diferencia del diccionario de Python, también se puede acceder a los valores de SDIMETUPLES utilizando los índices y la función getATTR (). Este artículo explica brevemente el NameTuple a través de ejemplos.