ImportError:无法导入名称计数器

时间:2012-04-11 02:19:08

标签: python

我尝试过使用Counter(),但每次都这样做:

from collections import Counter

我收到错误说:

Traceback (most recent call last):
  File "<web session>", line 1, in <module>
ImportError: cannot import name Counter

我实际上是否必须制作一个包含计数器的文件,然后从那里或其他地方导入它? 我是初学者,所以只有最基本的答案才能做到。

6 个答案:

答案 0 :(得分:35)

计数器仅支持python2.7及更高版本,在早期版本中不可用。

答案 1 :(得分:2)

您只需将列表转换为set

l = ['a','b', 'c', 'a', 'd', 'e', 's', 'd', 'e', 'c']
print (len(set(l)) #prints  6

答案 2 :(得分:1)

我认为你不想从馆藏中使用Counter。当您想要计算每个单词的出现次数时,可以使用计数器。例如:

from collections import Counter
Counter(['dog','cat','dog']) # Should output Counter({'dog': 2, 'cat': 1})

要计算列表中不同单词的数量,您可以尝试使用以下内容:

len(set(yourList))

以避免重复与不同的情况:

len(set(word.lower() for word in yourList))

与列表不同,允许一个集只包含它包含的项的一个实例。

您可能有一个早期版本的Python,它不包含标准库中的Counter。如果是这种情况,如果可以,您应该更新到更新的版本。

答案 3 :(得分:1)

使用

id_cafe

并确保id_cafe的{​​{1}}字母为大写字母。

答案 4 :(得分:0)

在Python3中

import collections
a=collections.Counter(list(i for i in input()))
print(a)

输入- aaabbbcccc

输出- Counter({'c': 4, 'a': 3, 'b': 3})

如果需要元素,则使用a.elements(),使用a.values()

答案 5 :(得分:0)

重命名您的文件,就像您命名为 collections 或 Counter 的文件一样。之后这将起作用