Python добавить новый элемент в словарь [дубликат]

Слово order на самом деле является ключевым словом SQL. У вас будет такая же проблема, если вы попытаетесь использовать таблицу с именем group или select. Вы можете исправить это MySQL, используя кавычки вокруг него, в соответствии с:

select f1, f2 from `order` where blah blah blah ...

Однако, если ваша таблица не будет удерживать только один заказ (в этом случае это не будет сделано для потому что основной бизнес вскоре будет банкротом), вы должны, вероятно, назвать свою таблицу orders.

Это решает как ваши проблемы, тот, который вы нашли, и тот, который вы сделали 't: -)

492
задан Chaitanya Bapat 21 June 2016 в 14:25
поделиться

1 ответ

Мне пришло в голову, что вы, возможно, на самом деле спрашиваете, как реализовать оператор + для словарей, похоже, что работает следующее:

>>> class Dict(dict):
...     def __add__(self, other):
...         copy = self.copy()
...         copy.update(other)
...         return copy
...     def __radd__(self, other):
...         copy = other.copy()
...         copy.update(self)
...         return copy
... 
>>> default_data = Dict({'item1': 1, 'item2': 2})
>>> default_data + {'item3': 3}
{'item2': 2, 'item3': 3, 'item1': 1}
>>> {'test1': 1} + Dict(test2=2)
{'test1': 1, 'test2': 2}

Обратите внимание, что это больше затрат, чем при использовании dict[key] = value или dict.update(), поэтому я бы рекомендовал не использовать это решение, если вы все равно не собираетесь создавать новый словарь.

23
ответ дан Andrew Clark 21 June 2016 в 14:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: