2010-06-23 7 views
1
errors = {} 

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

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

Si 'error1' n'est pas présent, il échouera. Dois-je vraiment étendre dict?Concaténer les tuples dans le dict vide

Répondre

4

Utilisez un collections.defaultdict au lieu d'une plaine dict - ce genre de commodité, après tout, est exactement ce que le type par défaut-dict a été introduite pour:

>>> import collections 
>>> errors = collections.defaultdict(tuple) 
>>> errors['id'] += ('error1',) 
>>> errors['id'] += ('error2',) 
>>> errors['id'] 
('error1', 'error2') 
+0

grand thx :) python me garde au sec :) –

3
import collections 
errors = collections.defaultdict(tuple) 
1
>>> from collections import defaultdict 
>>> errors = defaultdict (tuple) 
>>> errors['id'] += ('blargh',) 
>>> errors['id'] 
('blargh',)