Python | Inicializar diccionario con listas vacías

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 setdefault
setdefault() 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, zipjunto 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *