Конкатенация кортежей в пустом поле - PullRequest
1 голос
/ 24 июня 2010
errors = {}

#errorexample
errors['id'] += ('error1',)
errors['id'] += ('error2',)

#works but ugly
errors['id'] = ('error1',)
errors['id'] += ('error2',)

Если «error1» отсутствует, произойдет сбой. Я действительно должен продлить dict?

Ответы [ 3 ]

4 голосов
/ 24 июня 2010

Используйте collections.defaultdict вместо простого dict - в конце концов, это именно то удобство, для которого был введен тип default-dict:

>>> import collections
>>> errors = collections.defaultdict(tuple)
>>> errors['id'] += ('error1',)
>>> errors['id'] += ('error2',)
>>> errors['id']
('error1', 'error2')
3 голосов
/ 24 июня 2010
import collections
errors = collections.defaultdict(tuple)
1 голос
/ 24 июня 2010
>>> from collections import defaultdict
>>> errors = defaultdict (tuple)
>>> errors['id'] += ('blargh',)
>>> errors['id']
('blargh',)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...