python - 如何在 python 中创建一个程序来打印字符串中单词的出现次数

标签 python frequency

我想创建一个代码来打印字符串中单词的频率,我做到了,但我遇到了一个小问题。这是代码:

string=input("Enter your string: ")
string=string.split()
a=0
while(a<len(string)):
     print (string[a], "=", string.count(string[a]))
     a=a+1

一切正常,但如果一个词出现两次,它会说出这个词并在两个地方说明出现的情况。我真的需要帮助。谢谢!

最佳答案

您可以使用 set() 去除字符串中的重复项,并且只遍历唯一的字符串:

s=input("Enter your string: ")
s=s.split()

for i in set(s):
    print(i, "=", s.count(i)

或者,您可以使用 collections.Counter():

from collections import Counter

s=input("Enter your string: ")
s=s.split()

for key, value in Counter(s).items():
    print(key, "=", value)

关于python - 如何在 python 中创建一个程序来打印字符串中单词的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50205878/

相关文章:

python - 在 Python 中对元素计数器进行分组的最有效方法

c++ - 频率和振幅

iphone - 增加touchesMoved的调用频率

audio - XNA框架中soundInstance.Pitch的对应频率值是多少?

python - 是否有适当的方法将复合希腊字母设置为 SymPy 中的符号?

javascript - 来自带有 Angular 和 django/python 的 URL 的 JSON

python - django 异常处理程序中间件和 handler500

python - 如何分组并绘制它

python - ValueError:值太多

r - 计算 R 中的频率