Za pomocą PyCharm zauważyłem, że oferuje konwersję dosłownego słownika :
d = {
'one': '1',
'two': '2',
}
w konstruktora nagrań :
d = dict(one='1', two='2')
Czy te różne podejścia różnią się w jakiś znaczący sposób?
(Pisząc to pytanie zauważyłem, że użycie dict()
klucza numerycznego wydaje się niemożliwe ... d = {1: 'one', 2: 'two'}
jest możliwe, ale oczywiście dict(1='one' ...)
nie jest. Coś jeszcze?)
dict(abc = 123)
konstruktor tworzy słownik z kluczami bajt-ciąg 'abc'
, co może być zaskakujące, jeśli używasz unicode_literals
i spodziewasz się, że klucze słownika będą Unicode u'abc'
. Zobacz stackoverflow.com/questions/20357210/... .
dict()
pobiera listę par klucz-wartość, a także zezwala na nazwane parametry, dzięki czemu można go używać do tworzenia dowolnego typu dykt, ale nie ze składnią, której używasz. Prawdopodobnie nie jest również nic warte, że w pyCharm wystąpił błąd ( youtrack.jetbrains.net/issue/PY-2512 ), szczególnie z powodu tego, co odkryłeś, co zostało naprawione).