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]}
|
|