python中的单词计数功能

时间:2016-10-30 16:40:22

标签: python string count

我需要在python中创建一个名为word的函数,它接受一个句子并计算单词和数字的总数。例如

words('testing 1 2 testing')  

应该返回

{'testing': 2, 1: 1, 2: 1}

我目前正在使用下面的代码,但是输出将所有内容都作为字符串连数字。

from collections import Counter
def words(sentence):
    return Counter(map(str, sentence.split()))

1 个答案:

答案 0 :(得分:0)

扩展您的解决方案。只需在每次迭代中检查isdigit并相应地执行增量。

s = 'testing 1 2 testing'

d = {}
for word in s.split():
    word = int(word) if word.isdigit() else word
    if word in d:
        d[word] += 1
    else:
        d[word] = 1

将输出:

{1: 1, 2: 1, 'testing': 2}