请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。
时间: 2024-09-20 19:01:21 浏览: 24
实现一个WordCount函数可以使用Python的内置模块`collections`中的`Counter`类,它非常适合用于计数目的场景。这是一个简单的例子:
```python
from collections import Counter
def wordcount(s):
# 将字符串转换为小写并分割成单词列表
words = s.lower().split()
# 使用Counter计算每个单词的频率
word_counts = Counter(words)
return word_counts
# 测试函数
text = "This is a test string for the wordcount function. It will count how many times each word appears."
result = wordcount(text)
print(result) # 输出:{'this': 1, 'is': 1, 'a': 1, 'test': 1, 'string': 1, 'for': 1, 'the': 1, 'wordcount': 1, 'function.': 1, 'it': 1, 'will': 1, 'count': 1, 'how': 1, 'many': 1, 'times': 1, 'each': 1, 'appears.': 1}
相关问题
统计字符串中每个单词的次数并按照从大到小输出java程序实现
可以使用Java中的HashMap来实现统计字符串中每个单词的次数,并使用Collections工具类中的sort方法按照从大到小的顺序输出。
示例代码:
```
import java.util.*;
public class WordCount {
public static void main(String[] args) {
String str = "hello world hello java world";
String[] words = str.split(" ");
Map<String, Integer> wordCount = new HashMap<>();
// 统计每个单词出现的次数
for (String word : words) {
if (wordCount.containsKey(word)) {
int count = wordCount.get(word);
wordCount.put(word, count + 1);
} else {
wordCount.put(word, 1);
}
}
// 将统计结果按照从大到小排序并输出
List<Map.Entry<String, Integer>> list = new ArrayList<>(wordCount.entrySet());
Collections.sort(list, (o1, o2) -> o2.getValue().compareTo(o1.getValue()));
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
```
在上面的示例中,首先使用split方法将字符串按照空格分割成单词数组,然后使用HashMap统计每个单词出现的次数。接着,将HashMap转换为List并使用Collections.sort方法按照从大到小排序,并遍历输出每个单词及其出现次数。
任务:words是一个含有10个字符串以上的列表(内容自选),使用字典wordcount统计每个单词出现的次数
Sure, I can help you with that. Here's a code snippet in Python that can count the occurrence of each word in a list of strings called "words":
```python
words = ["apple", "banana", "orange", "apple", "pear", "banana", "banana", "grape", "orange", "watermelon"]
wordcount = {}
for word in words:
if word not in wordcount:
wordcount[word] = 1
else:
wordcount[word] += 1
print(wordcount)
```
This will output:
```
{'apple': 2, 'banana': 3, 'orange': 2, 'pear': 1, 'grape': 1, 'watermelon': 1}
```
Let me know if you have any other questions!