【发布时间】:2015-12-24 18:31:58
【问题描述】:
我有一个客户字典列表,格式如下:
dict_list = [{'Name of Business' : 'Amazon', 'Contact Name' : 'Jeff Bezos', 'Email' : 'Jeff@Amazon.com'}, {'Name of Business' : 'Microsoft', 'Contact Name' : 'Bill Gates', 'Email' : 'Bill@Microsoft.com'}]
并将使用tkinter 为每个客户端构建行,每个客户端旁边都有一个checkbox。我稍后会添加一个button,当按下它时,它将根据从列表中提取的信息向每个客户发送一封电子邮件。
目前我正在做类似的事情:
ClientCount = len(dict_list)
CurrentCount = 0
while CurrentCount < ClientCount:
for i in range(ClientCount):
currentClient = Label(text='Client: ' + dict_list[i]['Client']).grid(row=[i], column=1)
currentContactName = Label(text='Contact Name: ' + dict_list[i]['Contact Name']).grid(row=[i], column=2)
currentEmail = Label(text='Contact Email: ' + dict_list[i]['Email']).grid(row=[i], column=3)
CurrentCount += 1
首先,我确信有一种更简单的方法可以做到这一点,并且会对此提出任何建议,但主要问题是添加一个复选框,该复选框将在选中时确定是否向该客户发送电子邮件。 (稍后添加的按钮将调用一个命令,该命令将检查是否每个客户端都被检查,并且只发送给那些返回 true 等的客户端。)
我不确定是否应该创建一个要检查的新变量,为每个字典添加一个键和一个值以供以后读取,等等。
【问题讨论】:
-
我认为
while循环和CurrentCount += 1没有任何必要... for 循环就足够了...
标签: python list dictionary tkinter