2012-04-11 6 views
14

をインポート)が、毎回私が行うことはできません。はImportError:私はカウンターを(使用して試してみました名前のカウンター

from collections import Counter 

私はエラーが言ってます:

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

は、私が実際にそのファイルを作成する必要がありますかそこにカウンタがあり、そこから何かを輸入しますか? 私は初心者ですので、最も基本的な答えがあります。

+3

あなたはどのバージョンのPythonを使用していますか? –

答えて

2

あなただけの代わりにsetにリストをキャストすることができます

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

ありがとう、それは今doe一つのこと以外は動作します。あなたが文字列のリストを持っていて、文字列の1つが空文字列なら、どうやってそれを取り除くのですか? –

+0

@KeelyAranyos your_list.remove( '') – Akavall

1

私はあなたがコレクションからカウンターを使用したいとは思いません。カウンタは、各単語の出現回数をカウントするようなものを実行する場合に使用されます。たとえば:

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)) 

セットには、リストとは異なり、含まれているアイテムのインスタンスが1つだけ含まれていてもかまいません。

標準ライブラリにCounterを含まないPythonの旧バージョンを使用している可能性があります。そのような場合は、できるだけ新しいバージョンに更新する必要があります。

31

カウンタはpython2.7以降でのみサポートされており、以前のバージョンでは使用できません。

+1

ありがとう、あなたは本当に質問に答える唯一の男です、それは私を助けます。 – zurgl

+0

感謝のためにありがとう – sharafjaffri

+0

@sharafjaffriおそらく、正しい答えとして彼の答えを受け入れるべきです。 – josiah