我想创建一个代码来打印字符串中的单词频率,但是我确实做了一些问题。这是代码:
string=input("Enter your string: ")
string=string.split()
a=0
while(a<len(string)):
print (string[a], "=", string.count(string[a]))
a=a+1
一切都运行正常,但如果一个单词出现两次,它会说出这个词并在两个地方说出事件。我真的需要帮助。谢谢!
答案 0 :(得分: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)