为什么我的python系列Counter返回1?

时间:2014-07-15 01:26:01

标签: python collections counter

我有几个单词列表,需要每个单词的总计数。

两行:

['ashtonsos', 'i', 'heard', 'you', 'shouldnt', 'trust', 'claires', 'with', 'piercings', 'lol']
['liveaidstyles', 'thank', 'you', 'so', 'much', '\xf0\x9f\x92\x98']

我使用“来自集合导入计数器”

行导入了集合计数器

这是我的代码:

         for word in words:
            if word not in unique_words:
                unique_words.append(word)   
        #print unique_words

            tweet_count = Counter(unique_words) 
            for word in unique_words:
                tweet_count.update()


    for word in tweet_count:
        print word, tweet_count[word]

打印的内容是每个单词后跟1,即使单词重复也是如此。所以,基本上,计数器不计算在内。

仅供参考...'.update()'行......我也使用了'tweet_count + = 1'...并返回相同的结果。

我做错了什么?

2 个答案:

答案 0 :(得分:4)

难道不是很明显吗?您正在计算unique_words的列表。根据定义,独特的,发生一次。

试试这个:

counter = Counter()
for my_list in my_list_of_lists:
    counter += Counter(set(my_list))

答案 1 :(得分:0)

将其修改为:

        for word in words:
            if word not in AFINN and word not in unique_words:
                unique_words.append(word) 

        for word in unique_words:
            tweet_count[word] = tweet_count.get(word,0) + 1