gpt4 book ai didi

python - 字符串到字典字数统计

转载 作者:行者123 更新时间:2023-11-28 17:36:10 24 4
gpt4 key购买 nike

所以我在做作业时遇到了麻烦。

Write a function word_counter(input_str) which takes a string input_str and returns a dictionary mapping words in input_str to their occurrence counts.

所以我目前的代码是:

def word_counter(input_str):

'''function that counts occurrences of words in a string'''

sentence = input_str.lower().split()

counts = {}

for w in sentence:
counts[w] = counts.get(w, 0) + 1

items = counts.items()
sorted_items = sorted(items)

return sorted_items

现在,当我在 Python shell 中使用诸如 word_counter("This is a sentence") 之类的测试用例运行代码时,我得到以下结果:

[('a', 1), ('is', 1), ('sentence', 1), ('this', 2)]

这是必需的。但是,用于检查答案的测试代码是:

word_count_dict = word_counter("This is a sentence")
items = word_count_dict.items()
sorted_items = sorted(items)
print(sorted_items)

当我使用该代码运行它时,出现错误:

Traceback (most recent call last):
File "<string>", line 2, in <fragment>
builtins.AttributeError: 'list' object has no attribute 'items'

不确定如何更改我的代码以使其与给定的测试代码一起工作。

最佳答案

看起来您发现了原始代码中的错误,所以您可能会得到妥善处理。

也就是说,您可以使用 collections.Counter() 来收紧代码.文档中的示例与您的作业非常匹配:

>>> # Find the ten most common words in Hamlet
>>> import re
>>> words = re.findall(r'\w+', open('hamlet.txt').read().lower())
>>> Counter(words).most_common(10)
[('the', 1143), ('and', 966), ('to', 762), ('of', 669), ('i', 631),
('you', 554), ('a', 546), ('my', 514), ('hamlet', 471), ('in', 451)]

关于python - 字符串到字典字数统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30420013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com