ImportError: не может импортировать имя Counter

Я пробовал использовать Counter(), но каждый раз:

from collections import Counter

Я получаю сообщение об ошибке:

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

Должен ли я на самом деле создать файл, в котором есть счетчик, а затем импортировать его там или еще? Я новичок, поэтому будет вестись только самый простой ответ.

Ответы

Ответ 1

Счетчик поддерживает только python2.7 и выше и недоступен в более ранних версиях.

Ответ 2

Вместо этого вы можете просто перечислить список set:

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

Ответ 3

Я не думаю, что вы хотите использовать 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 в стандартную библиотеку. Если это так, вы должны обновиться до более новой версии, если сможете.

Ответ 4

Используйте

from collections import Counter

и убедитесь, что буква C в Counter является заглавной.