Використовуючи PyCharm, я помітив, що він пропонує перетворити буквальний текст :
d = {
'one': '1',
'two': '2',
}
в конструктор dict :
d = dict(one='1', two='2')
Чи відрізняються ці різні підходи якось суттєвим чином?
(Під час написання цього питання я помітив, що за допомогою використання dict()здається, що неможливо вказати числову клавішу .. d = {1: 'one', 2: 'two'}можливо, але, очевидно, dict(1='one' ...)ні. Ще щось?)
dict(abc = 123)конструктор створює словник з байтами-строковими ключами 'abc', які можуть бути дивно , якщо ви використовуєте unicode_literalsі чекаючи словникові ключі бути юнікодом u'abc'. Дивіться stackoverflow.com/questions/20357210/… .
dict()приймає список пар ключових значень, а також дозволяє називати параметри, тому він може використовуватись для створення будь-якого типу дикту, тільки не з синтаксисом, який ви використовуєте. Також, мабуть, нічого не варто, щоб у pyCharm була помилка ( youtrack.jetbrains.net/issue/PY-2512 ) саме через те, що ви виявили, що було виправлено).