Cómo crear e inicializar un diccionario de Python | |
![]() | |
Este artículo explica cómo crear e inicializar un diccionario en Python. | |
Un diccionario está formado por pares clave-valor. Hay varias formas de crear e inicializar un diccionario en Python, como se muestra a continuación: | |
Usando el constructor de diccionario | |
El constructor del diccionario dict() devuelve un nuevo diccionario que se inicializa a partir de los argumentos especificados. | |
⮚ Si se pasa un objeto de asignación al constructor del diccionario, el diccionario se crea con los mismos pares clave-valor que el objeto de asignación. | |
if __name__ == '__main__': d = dict(A=1, B=2, C=3) print(d) # {'A': 1, 'B': 2, 'C': 3} |
⮚ También puede pasar un iterable al constructor del diccionario, donde cada elemento del iterable debe ser otro iterable con dos objetos. | |
Esto devuelve un nuevo diccionario con el primer objeto de cada elemento como clave y el segundo objeto como el valor correspondiente. Tenga en cuenta que si se repite una clave, el diccionario resultante contiene el último valor de esa clave. | |
if __name__ == '__main__': x = dict(zip(['A', 'B', 'C'], [1, 2, 3])) print(x) # {'A': 1, 'B': 2, 'C': 3} y = dict([('B', 2), ('A', 1), ('C', 3)]) print(y) # {'A': 1, 'B': 2, 'C': 3} z = dict({'A': 1, 'B': 2, 'C': 3}) print(z) # {'A': 1, 'B': 2, 'C': 3} |
⮚ Si no se pasa ningún argumento al constructor del diccionario, se crea un diccionario vacío. | |
if __name__ == '__main__': d = dict() print(d) # {} |
Uso de la sintaxis literal del diccionario | |
También se pueden crear diccionarios encerrando entre llaves una lista de pares clave:valor separados por comas. | |
if __name__ == '__main__': d = {'A': 1, 'B': 2, 'C': 3} print(d) # {'A': 1, 'B': 2, 'C': 3} |
Si no se pasa ningún par clave-valor, se crea un diccionario vacío. | |
if __name__ == '__main__': d = {} print(d) # {} |
Uso de la función fromkeys() | |
Si desea inicializar todas las claves del diccionario con un valor predeterminado, puede usar la función fromkeys(). | |
if __name__ == '__main__': x = dict.fromkeys(['A', 'B', 'C'], 0) print(x) # {'A': 0, 'B': 0, 'C': 0} |
Si no se especifica ningún valor predeterminado, el diccionario se inicializa con todos los valores como Ninguno. | |
if __name__ == '__main__': x = dict.fromkeys(['A', 'B', 'C']) print(x) # {'A': None, 'B': None, 'C': None} |
Tenga en cuenta que si el valor predeterminado es editable, puede provocar resultados inesperados. Por ejemplo, en el siguiente programa, todas las teclas se asignan a la misma lista. Esto significa que cualquier cambio realizado en un valor se reflejará en todos los valores del diccionario. | |
if __name__ == '__main__': x = dict.fromkeys(['A', 'B', 'C'], []) x.get('A').append(1) print(x) # {'A': [1], 'B': [1], 'C': [1]} |
![]() |