Usando PyCharm, ho notato che offre di convertire un dict letterale :
d = {
'one': '1',
'two': '2',
}
in un costruttore di dict :
d = dict(one='1', two='2')
Questi diversi approcci differiscono in qualche modo significativo?
(Durante la stesura di questa domanda ho notato che l'utilizzo dict()
sembra impossibile specificare un tasto numerico ... d = {1: 'one', 2: 'two'}
è possibile, ma, ovviamente, dict(1='one' ...)
non lo è. Nient'altro?)
dict(abc = 123)
costruttore produce un dizionario con chiavi a stringa di byte 'abc'
, il che può sorprendere se si stanno utilizzando unicode_literals
e si aspettano che le chiavi del dizionario siano unicode u'abc'
. Vedi stackoverflow.com/questions/20357210/… .
dict()
prende un elenco di coppie chiave-valore oltre a consentire i parametri con nome, quindi può essere utilizzato per creare qualsiasi tipo di dict, non solo con la sintassi che stai utilizzando. Probabilmente non vale nemmeno nulla che ci sia stato un bug ( youtrack.jetbrains.net/issue/PY-2512 ) in pyCharm proprio a causa di ciò che hai scoperto, che è stato risolto).