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_literalsi 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).