Хочу оптимизировать вот такой код:
# сбор данных для 1 строки
db_tb_i = dict(Первый = self.pole_1.text(),
Второй = self.pole_2.text(),
Третий = self.pole_3.text(),
Четвёртый = self.pole_4.text())
# конец: сбор данных
Очевидно, что это создание словаря из значений полей.
Дополнительная информация:
columnCount - глобальная переменная, число столбцов табл
columnName - глобальная переменная, список имён столбцов
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))
Shell пишет вот это: “NameError: name ‘text’ is not defined”
Т.е. методы не работают с map или надо надо написать по-другому?
Почему не работают оба варианта создания словаря?