En este artículo, veremos cómo podemos especificar el tipo de argumento para una lista de Dictionary for Python .
Como sabemos, Python es un lenguaje de tipo dinámico, por lo que el tipo de datos de una variable puede cambiar en cualquier momento. Si una variable que contiene un número entero puede contener una string en el futuro, lo que puede generar errores de tiempo de ejecución, por lo tanto, conocer el tipo de datos de los argumentos se vuelve importante para una función. Aquí usaremos un módulo de escritura de Python que nos ayudará a resolver este problema.
Entonces, en general, podemos escribir una función en Python como:
Python3
def add(a, b): return a+b
Pero aquí, no sabemos si la función ‘agregar’ acepta valores int o float. Las anotaciones de función PEP 3107 ahora nos permiten escribir nuestro código como:
Python3
def add(a: int, b: int) -> int: return a+b
Ahora podemos saber fácilmente leyendo el código cuál es el tipo de datos esperado de los parámetros y la salida.
Entonces, ahora para especificar el tipo de argumento para la lista de diccionarios para una función de python. Será tan simple como
Ejemplo 1:
Aquí podemos ver:
- El tipo de datos para los argumentos.
- El tipo de salida es una lista que contiene un Diccionario con valores: una string y un entero .
Python3
# typing is a standard library from typing import List, Dict def GetData(name: str, age: int) -> List[Dict[str, int]]: return [{'name': name, 'age': age}] print(GetData('Sandeep Jain', 35))
Producción:
[{'name': 'Sandeep Jain', 'age': 35}]
Ejemplo 2:
En este ejemplo, estamos utilizando la comprensión de listas para obtener una Lista de diccionarios.
Python3
# import library from typing import List, Dict # define function def get_list_of_dicts(name: str, category: str) -> Dict[str, str]: return [{'name': name, 'category': category}] Fruit = ["Mango", "tomato", "potato", "papaya"] Fruit_type = ["fruit", "vegetable", "vegetable", "fruit"] res = [get_list_of_dicts(Fruit[i], Fruit_type[i]) for i in range(3)] print(res)
Producción:
[[{‘nombre’: ‘a’, ‘apellido’: 1}], [{‘nombre’: ‘b’, ‘apellido’: 2}], [{‘nombre’: ‘c’, ‘apellido’ : 3}]]
Publicación traducida automáticamente
Artículo escrito por ayushmankumar7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA