У меня есть диплом булевских флагов в моем приложении. Когда я работаю через набор данных, я вставляю в поле dict, используя поля из данных, и флаг, выполнял ли я на них операцию do-once. Прямо сейчас, я инициализирую диктовку значений False с помощью правильных клавиш, а затем копирую этот dict в начале цикла, который работает с данными. Вот фрагмент кода из функции, которая распределяет записи базы данных в набор файлов .csv:Лучший способ для повторной инициализации dict в Python 3
do_once_defaults = dict.fromkeys([f for f in output_file_names], False)
for db in db_files:
do_once = dict(do_once_defaults)
for row in cur.execute(query, params):
if not do_once[row[0]]:
do_once[row[0]] = True
_replace_csv_headers(output_files[row[0]], [r[0] for r in cur.description])
_write_record_to_csv(row[1:])
есть лучший способ сбросить Dict флагов на каждой внешней итерации? Более питоновский путь?
Спасибо за (кстати). Я отредактирую OP, чтобы показать код, который делает то, что предназначено, поэтому оно уместно для вопроса. – Stobber