Usando PyCharm, noté que ofrece convertir un dict literal :
d = {
'one': '1',
'two': '2',
}
en un constructor dict :
d = dict(one='1', two='2')
¿Estos diferentes enfoques difieren de alguna manera significativa?
(Mientras escribía esta pregunta, noté que usarlo dict()
parece imposible especificar una clave numérica ... d = {1: 'one', 2: 'two'}
es posible, pero, obviamente, dict(1='one' ...)
no lo es. ¿Algo más?)
dict(abc = 123)
constructor produce un diccionario con claves de cadena de bytes 'abc'
, lo que puede ser sorprendente si está utilizando unicode_literals
y espera que las claves de diccionario sean unicode u'abc'
. Ver stackoverflow.com/questions/20357210/… .
dict()
toma una lista de pares clave-valor, además de permitir parámetros con nombre, por lo que puede usarse para crear cualquier tipo de dict, solo que no con la sintaxis que está usando. Probablemente tampoco valga nada que haya un error ( youtrack.jetbrains.net/issue/PY-2512 ) en pyCharm específicamente debido a lo que descubrió, que se ha solucionado).