Сейчас мне осталось решить два основных вопроса. Первый напишу сейчас, а второй после решения первого - выложу тогда весь код.
Итак. Первый вопрос.
Хочу оптимизировать вот такой код:
# сбор данных для 1 строки db_tb_i = dict(Первый = self.pole_1.text(), Второй = self.pole_2.text(), Третий = self.pole_3.text(), Четвёртый = self.pole_4.text()) # конец: сбор данных
Дополнительная информация:
columnCount - глобальная переменная, число столбцов табл
columnName - глобальная переменная, список имён столбцов
self.polya - локальная переменная, атрибут текущего класса, это список из полей:
self.polya = [self.pole_1,self.pole_2,self.pole_3,self.pole_4]
Сначала я хотел сделать словарь таким образом:
for i in range(0,columnCount): db_tb_i = dict(zip(i in columnName, (i in self.polya).text()))
lst_polya = list(map(text(), self.polya)) for i in range(0,columnCount): db_tb_i = dict(zip(i in columnName, i in lst_polya))
Т.е. методы не работают с map или надо надо написать по-другому?
Почему не работают оба варианта создания словаря?
______________________________________
Кстати, PEHDOM, я подробнее посмотрел пример через диалог. Ну так он всё равно представляет собой вариацию схемы: удалить строку, вставить строку.
На форуме вычитал критику Родегаста по поводу shelve, дескать, ключи со временем стираются, база ломается. Он советовал использовать LevelDB, правда, инфы о ней мало.
А вообще для моих текущих целей pickl'a вполне достаточно. Тем более, что теперь я сохраняю базу по нажатии клавиши.