【问题标题】:Assigning a variable as a key in Python?在Python中将变量分配为键?
【发布时间】:2021-05-29 23:15:48
【问题描述】:

我正在尝试使用一个指向字符串参数中的字符的变量来在程序进行时更新它。但是,我遇到了一个键错误 4。我认为我可以将变量用作字典的键?

    result = {}
    for i in range(len(text)):
        if text[i] in result:
            result[text[i]] += 1
        else:
            result[text[i]] = 1
    most = text[0]

    for item in result:
        if result[item] > result[most]:
            most = result[item]
        else:
            if result[item] == result[most]:
                came_first = min(text.index(item), text.index(most[0]))
                most = text[came_first]
    return most


if __name__ == '__main__':
    maximumOccurringCharacter('maximumOccurringCharacter')```


```Traceback (most recent call last):
  File "/home/blith/PycharmProjects/test/main.py", line 21, in <module>
    maximumOccurringCharacter('maximumOccurringCharacter')
  File "/home/blith/PycharmProjects/test/main.py", line 11, in maximumOccurringCharacter
    if result[item] > result[most]:
KeyError: 4

【问题讨论】:

  • 密钥错误意味着密钥不在您的字典中。尝试通过打印字典进行故障排除。也许您的键是字符串 '4' 而不是整数。
  • 啊,是的,谢谢,我选择的是键的值,而不是键本身并将其分配给大多数。

标签: python-3.x dictionary key


【解决方案1】:

我将键的值分配给 most 而不是更改下游比较的键,因为条件找不到现在是整数的键。谢谢@Thatcher Thornberry。

【讨论】:

    【解决方案2】:

    您可以接受此答案以将其标记为已完成。

    密钥错误意味着密钥不在您的字典中。尝试通过打印字典进行故障排除。也许您的键是字符串 '4' 而不是整数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多