【问题标题】:Trying to assign names to dictionary, python thinks I'm indexing a string试图将名称分配给字典,python 认为我正在索引一个字符串
【发布时间】:2017-06-09 03:35:08
【问题描述】:

这对我来说可能是一个愚蠢的错误,我在发布之前确实检查了建议的答案,但我在使用以下代码时遇到了问题:

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一直告诉我'字符串索引必须是整数'。

我做错了什么?非常感谢任何帮助!

【问题讨论】:

    标签: python dictionary indexing


    【解决方案1】:

    不知道是不是笔误。但问题出在这一行:

    label_text[label_name].grid(row=x, column=0)
    

    label_text 是一个字符串,实际上它的索引只能是整数,但是您使用另一个字符串作为索引。

    【讨论】:

    • @MichaelTracey,不客气。如果问题得到回答,请接受任何人的回答以关闭它。
    【解决方案2】:

    Python 是绝对正确的。你只是有一个错字并使用字符串而不是字典。而不是

    #     vvvv
    label_text[label_name].grid(row=x, column=0)
    #     ^^^^
    

    使用label_dict[label_name].grid(row=x, column=0)

    【讨论】:

      猜你喜欢
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      • 1970-01-01
      • 2016-07-28
      • 1970-01-01
      • 1970-01-01
      • 2019-10-13
      相关资源
      最近更新 更多