这可能是我的一个愚蠢的错误,我确实在发布之前检查了建议的答案,但我遇到以下代码的问题:
label_dict = {}
labels_list = [('name', 'Enter the name of the Item:'), ('price', 'Enter Price:'), ('quantity', 'Enter Quantity:'), ('date_incoming', 'Enter Date Incoming:'),
('date_sold', 'Enter Date Sold:'), ('location', 'Enter Location:'), ('returnable', 'Enter whether Returnable:')]
x = 0
for label_name, label_text in labels_list:
label_dict[label_name] = Label(root, text=label_text)
label_text[label_name].grid(row=x, column=0)
x += 1
我的印象是我能够创建一个空字典,然后在以后为其分配值。但是python一直告诉我,字符串索引必须是整数'。
我做错了什么?任何帮助非常感谢!
答案 0 :(得分:1)
Python是绝对正确的。你只有一个拼写错误并使用字符串而不是字典。而不是
# vvvv
label_text[label_name].grid(row=x, column=0)
# ^^^^
使用label_dict[label_name].grid(row=x, column=0)
答案 1 :(得分:1)
不确定这是不是错字。但问题出在这一行:
label_text[label_name].grid(row=x, column=0)
label_text
是一个字符串,实际上它的索引只能是整数,但是你使用另一个字符串作为索引。