Просто поставьте dict = {}
внутри цикла.
>>> dict = {}
>>> list = []
>>> for x in range(0, 100):
dict[1] = x
list.append(dict)
dict = {}
>>> print list
Важно сохранить обработку ошибок максимально низко в стеке, но дополнительный в других частях. Если Вы сохраняете очистку в контроллере, Вы могли бы повредить модель путем выгрузки контроллера с более свободным, но Вы никогда не можете повреждать модель, будучи строгими выше в стеке. Поддержите очистку на низком уровне в стеке для непротиворечивости, и высоко в стеке для отзывов пользователей.
Я сказал бы, что Контроллер должен санировать вход.
модель должна в большей части снижения, чтобы хранить недопустимые данные.
Я сказал бы, что это - обязанность контроллера проверить вход и удостовериться, что данные допустимы перед передачей данных к модели.
, Если недопустимые данные найдены, контроллер должен перенаправить назад к представлению и отобразить соответствующие сообщения об ошибках.
проверка Наличия в представлении только могла быть обойдена, если пользователю не включили JavaScript или отправляет на URL непосредственно, однако некоторая проверка в представлении лучше от пользовательского очка опыта представления, так как пользователь не должен ожидать возврата из сервера в веб-приложении.
Модель проверит правила бизнес-логики, т.е. требования длины пароля, если пользователю разрешат выполнить действие или нет.
модель должна, очевидно, также удостовериться, что взаимодействие с базой данных сделано безопасным способом так, чтобы Внедрение SQL не было возможно.
контроллер должен обработать ошибки бизнес-логики передачи назад к представлению, но может также сделать некоторые основные проверки работоспособности, т.е. поле не пусто.
я сказал бы, что выходная санитизация должна также войти в Контроллер прежде чем быть переданным Представлению.
Я использую два уровня проверки. Мой контроллер проверит то, что, как предполагается, является датой, дата, интервал интервал и т.д. В основном обеспечение они могут использоваться для устанавливания значений на моих объектах.
Затем мой домен имеет проверку для вещей, таких как допустимые значения и другие бизнес-правила. Они ВСЕГДА проверяются прежде, чем сохранить или взаимодействовать с отредактированным объектом.
Все ошибки от любого уровня возвращаются пользователю, таким образом, они могут применить средства судебной защиты по мере необходимости.
Я склоняюсь к:
Помещенный синтаксический проверка в представлении ("это поле является числовым", "что поле является датой"). Это часто очень легко или даже неявно в Вашем выборе дизайна представления (например: использование средства выбора даты для полей даты).
Помещенный семантический нарушение в отдельном классе блока проверки допустимости ("это поле даты должен быть после того поля даты", "это может быть пустым, если это больше, чем нуль") и называют блок проверки допустимости от контроллера, пасуя назад ошибки к представлению для дисплея.
(для моих собственных псевдокорректных определений синтаксиса и семантики...)