如何在python中将变量设置为字典中的对象

2024-09-26 18:14:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,我正试图用字典编写一个简单的单词计数器。我想知道为什么以下代码不起作用:

while word != None:
      wordObject = Word()
      wordObject.setWord(word)
      if dictionary.has_key(wordObject.getWord():
            setCount = dictionary[wordObject.getWord()]
            setCount.setCount()

如果我保持原样,它永远不会进入If语句,如果我在has key方法中放了一个键值,那么它将进入该语句并说我的setCount变量语法无效。我试图将该变量设置为存储在我创建的字典中的键值处的对象,然后使用setCount方法增加单词计数。谢谢。在


Tags: 方法keydictionary字典计数器语句单词word
2条回答

我看不到您的整个代码,但可以预测您一定是在wordObject中使用了某个方法setCount,并且错误地使用了一个局部变量。更改为wordObject.setCount()可能会有帮助,否则

count = 0
while word != None:
      wordObject = Word()
      wordObject.setWord(word)
      if dictionary.has_key(wordObject.getWord():
            setCount=dictionary[wordObject.getWord()]
            count += 1

足够存储计数了。在

使用^{}进行计数(Python2.7+)。例如,如果你想数一数单词,你可以这样做:

from collections import Counter

words = ['stack', 'overflow', 'stack', 'exchange']
counter = Counter(words)

print counter

结果:

^{pr2}$

Counter只是一个字典,它有一些附加的方便方法,比如most_common([n]),当试图获取一个不存在的密钥时,它返回零。因此,如果您使用Python<;2.7,您可以通过子类化dict轻松实现自己的功能。在

相关问题 更多 >

    热门问题