【发布时间】:2018-04-22 15:16:28
【问题描述】:
我在让我的 for 循环工作时遇到了一些麻烦,它应该在一个窗口中创建许多标签。 这是代码sn-p:
import tkinter as tk
root = tk.Tk()
#Frame 1: components
frame1 = tk.Frame(root).grid(row=0)
items = ['REED', 'PIR', 'VIBR', 'REED', 'PIR']
for r in items:
tk.Label(frame1, text=items[r]).grid(row=r,column=0)
#Frame 2: statusList
frame2 = tk.Frame(root).grid(row=1)
status = [[True, False, True, False],
['14:00:00', '13:24:31', '15:58:32', '08:33:01']]
for r in status:
for s in status[r]:
tk.Label(frame2, text=status[r][s]).grid(row=s,column=r)
root.mainloop()
它输出错误
TypeError: 列表索引必须是整数或切片,而不是 str
这表明我对 for 循环的使用是错误的。我查找了一些信息,发现我当然可以遍历一个列表并让它遍历每个项目,例如打印该项目,但是到目前为止,当有一个封装列表时,我不知道如何实现这个想法我想循环播放。
【问题讨论】:
-
不要更改问题以包含答案,这对未来的观众没有帮助。
标签: python python-3.x list for-loop