There is a Treeview () table and there is a list of tuples, each of which needs to be inserted into the table.

# Напрмер, таблица имеет 4 столбца. Кортеж - 4 элемента table = Treeview(...) for i in rowlist: table.insert("", END, values=(i[0], i[1], i[2], i[3])) #Этим способом все отлично вставляется, но если таблица большая, #то каждый элемент вписывать очень накладно. Пробуем вставить генератор table = Treeview(...) for i in rowlist: table.insert("", END, values=((i[j] for j in range(len(i))))) 

As a result, a <generator object... is inserted into the first column of each row <generator object... in general, the generator is inserted as an object and not as generated values. How to make him generate i[0], i[1] ... i[20] ?

    2 answers 2

    Why bother to transfer from a tuple to a tuple? The simplest code should work:

     table = Treeview(...) for row in rowlist: table.insert("", END, values=row) 

    If you want to be sure that a value with a tuple type falls into the values ​​parameter, then write so explicitly: values=tuple(row)

    • Oops .. And true. Make a tuple from a tuple to insert. Earned a bit. - Skotinin

    Try tuple

     values = tuple(i[j] for j in range(len(i))) table.insert("", END, values=values)