En python, por lo general, uno se encuentra con situaciones en las que tiene que usar el diccionario para almacenar las listas. Pero en esos casos, uno generalmente verifica el primer elemento y luego crea una lista correspondiente a la clave cuando se trata. Pero siempre quiso un método para inicializar el dict. llaves con lista. Analicemos ciertas formas de lograr esta tarea en particular.
Método #1: Uso de la comprensión del diccionario
Este es el método más buscado para hacer esta inicialización. En este método, creamos el no. de claves que requerimos y luego inicializamos la lista vacía a medida que seguimos creando las claves, para facilitar la operación de agregar después sin un error.
# Python3 code to demonstrate # to initialize dictionary with list # using dictionary comprehension # using dictionary comprehension to construct new_dict = {new_list: [] for new_list in range(4)} # printing result print ("New dictionary with empty lists as keys : " + str(new_dict))
Producción :
New dictionary with empty lists as keys : {0: [], 1: [], 2: [], 3: []}
Método n.º 2:fromkeys()
fromkeys()
se puede usar el uso para realizar esto especificando la lista vacía adicional como argumento y el rango de elementos que deben ser la clave del diccionario que se está creando.
# Python3 code to demonstrate # to initialize dictionary with list # using fromkeys() # using fromkeys() to construct new_dict = dict.fromkeys(range(4), []) # printing result print ("New dictionary with empty lists as keys : " + str(new_dict))
Producción :
New dictionary with empty lists as keys : {0: [], 1: [], 2: [], 3: []}
Método n.º 3: uso de defaultdict
Esta es la forma más pythonica y libre de errores de usar cualquier clave sin inicializar su valor, se le debe indicar el tipo de contenedor predeterminado de todas sus claves y luego evalúa las operaciones y estructuras en consecuencia.
# Python3 code to demonstrate # to initialize dictionary with list # using defaultdict from collections import defaultdict # initializing dict with lists new_dict = defaultdict(list) # performing append # shows no error new_dict[0].append('GeeksforGeeks') # printing result print ("New dictionary created : " + str(dict(new_dict)))
Producción :
New dictionary created : {0: ['GeeksforGeeks']}
Método n.º 4: se puede usar setdefaultsetdefault()
para realizar esto especificando pares clave-valor dentro de una comprensión. Este método evita la necesidad de importar un módulo como se requiere en el Método #3.
# Python3 code to demonstrate # to initialize dictionary with list # using setdefault # initializing dict with lists new_dict = {} [new_dict.setdefault(x, []) for x in range(4)] # performing append # shows no error new_dict[0].append('GeeksforGeeks') # printing result print ("New dictionary created : " + str(dict(new_dict)))
Producción :
New dictionary created : {0: ['GeeksforGeeks'], 1: [], 2: [], 3: []}
Método n.º 5: uso de funciones integradas: dict y zip
Las funciones integradas dict, zip
junto con la comprensión de listas pueden lograr el resultado deseado.
# Python3 code to demonstrate # use of dict() and zip() built-ins to demonstrate # initializing dictionary with list keys = range(4) new_dict = dict(zip(keys, ([] for _ in keys))) print(new_dict)# performing append # shows no error new_dict[0].append('GeeksforGeeks') # printing result print ("New dictionary created : " + str(dict(new_dict)))
Producción :
New dictionary created : {0: ['GeeksforGeeks'], 1: [], 2: [], 3: []}
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA