Usando PyCharm, notei que ele oferece a conversão de um dict literal :
d = {
'one': '1',
'two': '2',
}
em um construtor de ditado :
d = dict(one='1', two='2')
Essas abordagens diferentes diferem de alguma maneira significativa?
(Ao escrever esta pergunta, notei que o uso dict()parece impossível especificar uma chave numérica .. d = {1: 'one', 2: 'two'}é possível, mas, obviamente, dict(1='one' ...)não é. Mais alguma coisa?)
dict(abc = 123)construtor produz um dicionário com chaves de cadeia de bytes 'abc', o que pode ser surpreendente se você estiver usando unicode_literalse esperando que as chaves de dicionário sejam unicode u'abc'. Consulte stackoverflow.com/questions/20357210/… .
dict()leva uma lista de pares de valores-chave e permite parâmetros nomeados, para que possa ser usado para criar qualquer tipo de regra, mas não com a sintaxe que você está usando. Provavelmente também não vale nada que tenha ocorrido um erro ( youtrack.jetbrains.net/issue/PY-2512 ) no pyCharm especificamente por causa do que você descobriu, que foi corrigido).