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将您的值与您存储 的值的变量一起使用。样本:Counterresult1

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

说明

你正在做Counter['BAM'],即Counter用作为参数创建新对象'BAM',这是无效的。相反,如果你这样做Counter(my_dict)['BAM'],它也会起作用,因为它是传递你的 dict 的同一个对象,并且你正在访问其中的'BAM'

于 2016-08-26T08:21:33.303 回答