不使用 count() 计算词频

Count word frequency without using count()

Python 计算每个字符,但不计算单词。有什么可以改变的吗?不使用 count()

dict = {}
def convert(sentence):
    return (sentence.split())
 

sentece =  input("write something: ")
print( convert(sentence))


for item in sentence:
    if item not in ordbok:
        dict[item] = 0
    dict[item] += 1
print(dict)

您可以轻松地用 collections.Counter 数任何东西。

from collections import Counter

word_count = Counter(sentence.casefold().split())

在这里,word_count 将是一个字典,其中包含 sentence 中的所有单词及其各自的计数。

您可以像下面这样使用 collections.Counter

from collections import Counter
Counter(convert(sentence))

您的完整代码:

def convert(sentence):
    return (sentence.split())
 
sentece =  input("write something: ")

from collections import Counter
dct = Counter(convert(sentence))

输出:

write something: victorialangoe victorialangoe

Counter({'victorialangoe': 2})

请在下方找出您当前逻辑存在的问题:

  • 迭代 convert(sentence) 后得到的 return 列表。

  • 如果对句子进行迭代,则需要字符数

请找到下面的代码并进行更正:

dict = {}

def convert(sentence):
    return (sentence.split())

sentence = input("write something: ")
print(convert(sentence))

for item in convert(sentence):
    if item not in dict:
        dict[item] = 0
    dict[item] += 1
print(dict)