如何使用 defaultdict select python tkinter 列?

how to select python tkinter columns with defaultdict?

我可以在我的 tkinter 程序中使用 defaultdict select 行,但我不知道如何 select 整个列。我了解 defaultdict(list) 的概念,但我不知道如何编码到 select 列。 defaultdict 设置恰好是一个更大程序的一部分,所以我必须使用这个设置。如果有人可以帮助我 selecting 专栏,我将不胜感激。以我有限的知识,我知道要访问一个字典值我需要 [][] 来访问它的值,我应该把它放在我的代码中的什么地方?例如,如果我想将红色放在第 [1] 列中,我该怎么做?

import pulp
import tkinter as tk
from tkinter import ttk
from collections import defaultdict

class Application(ttk.Frame): #inherent from frame.

    def __init__(self, parent):
        tk.Frame.__init__(self, parent, bg="LightBlue4")
        self.parent = parent
        self.pack()
        self.labels_dict = defaultdict(list)
        self.GUI()

    def GUI(self):
        for i in range (9):
            for day in range(7):
                self.label = tk.Label(self, relief="ridge", width=11,     
                height=3)
                self.label.grid(row=i, column=day, sticky='nsew')
                self.labels_dict[i].append(self.label)

        self.button=tk.Button(self, text="Caluculate", bg="salmon")
        self.button.grid(row = 10, column = 6)

        for (i) in self.labels_dict:
            for element in self.labels_dict[1]:
                element.configure(bg = "red")


def main():
    root = tk.Tk()
    root.title("class basic window")
    root.geometry("1200x600")
    root.config(background="LightBlue4")
    app = Application(root)
    root.mainloop()

if __name__ == '__main__':
    main()

要访问列,您可以遍历行并获取每行的第 n 个元素,例如

for row in self.labels_dict:
    element = self.labels_dict[row][1]
    element.configure(bg = "red")

要访问一行,您不需要双循环,只需取一行并循环遍历该行的元素

for element in self.labels_dict[1]:
    element.configure(bg = "red")