2015-04-27 3 views
0

Итак, у меня есть класс DictList, который имеет параметр args, который принимает словари и добавляет их в список. Мой профессор хочет, чтобы я переопределял функцию добавления в Python, чтобы добавить 2 DictLists вместе (оба относятся к списку словарей). Проблема, с которой я сейчас сталкиваюсь, заключается в возврате нового DictList после добавления 2 DictLists вместе.Цитирование через список для передачи в качестве аргумента в функции Python

Я могу расширить оба своих списка вместе, но я не совсем уверен, как создать новый DictList с данными, которые у меня есть с тех пор, как он находится в списке. Я думал об итерации по списку и передаче каждого словаря в DictList, но ... Я не уверен, как это сделать.

ответ

0
class DictList(object): 
    def __init__(self, args): 
     self.args = args 
    def __add__(self, other): 
     return DictList(self.args + other.args) 

Пример:

>>> a = DictList((dict(a=1), dict(b=2))) 
>>> b = DictList((dict(c=3), dict(d=4))) 
>>> c = a + b 
>>> c.args 
({'a': 1}, {'b': 2}, {'c': 3}, {'d': 4})