0

コレクションカウンターを使用して、リスト内の各文字列 (一意ではない可能性があります) をカウントしています。問題は、辞書にアクセスできなくなったことです。その理由はわかりません。

私のコードは次のとおりです。

from collections import Counter
result1  = Counter(list_final1) #to count strings inside list

result1 を印刷すると、出力は次のようになります。

Counter({'BAM': 44, 'CCC': 20, 'APG': 14, 'MBI': 11, 'BAV': 10})

たとえば、44 という数字にアクセスするには、Counter['BAM'] を使用することを期待します。

しかし、これはうまくいかず、エラーが発生します:

    print (Counter['BAM'])
TypeError: 'type' object is not subscriptable

私は何を間違っていますか?どうもありがとう。

4

1 に答える 1

2

あなたの場合、keyの値を格納した変数でyourを使用します。サンプル:Counterresult1

>>> from collections import Counter
>>> my_dict = {'BAM': 44, 'CCC': 20, 'APG': 14, 'MBI': 11, 'BAV': 10}
>>> result = Counter(my_dict)
>>> result['BAM']
44

説明

あなたがやっている、つまりas param でCounter['BAM']新しいCounterオブジェクトを作成していますが、これは無効です。'BAM'代わりにCounter(my_dict)['BAM']、 dict が渡されるのと同じオブジェクトであり、その'BAM'中のキーにアクセスしているため、それも機能します

于 2016-08-26T08:21:33.303 に答える