请编写代码计算字符串变量中每个单词出现的频率,并且按照频率从高到低顺序输出
时间: 2024-02-13 09:00:05 浏览: 31
好的,我可以为您编写 Python 代码实现该功能。代码如下:
```python
from collections import Counter
# 定义字符串变量
text = "Hello world, how are you? Are you doing well world?"
# 将字符串转换为单词列表
words = text.split()
# 使用 Counter 对象统计每个单词出现的频率
word_count = Counter(words)
# 按照频率从高到低排序
sorted_word_count = sorted(word_count.items(), key=lambda item: item[1], reverse=True)
# 输出结果
for word, count in sorted_word_count:
print(f"{word}: {count}")
```
上述代码中,我们首先使用 `split()` 方法将字符串转换为单词列表,然后使用 `Counter` 对象统计每个单词出现的频率。最后,使用 `sorted()` 函数按照频率从高到低排序,并且使用循环输出结果。
相关问题
使用java写一段代码并使用哈希表统计一段字符串中单词出现的频率
好的,以下是Java代码,使用哈希表统计一段字符串中单词的频率:
```
import java.util.HashMap;
import java.util.Map;
public class WordFrequency {
public static void main(String[] args) {
String str = "this is a test string to test word frequency test";
String[] words = str.split(" ");
Map<String, Integer> wordFrequency = new HashMap<>();
for (String word : words) {
if (wordFrequency.containsKey(word)) {
wordFrequency.put(word, wordFrequency.get(word) + 1);
} else {
wordFrequency.put(word, 1);
}
}
for (Map.Entry<String, Integer> entry : wordFrequency.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
上面的代码中,我们首先定义了一个字符串变量 `str`,然后使用 `split()` 方法将其分割成一个个单词,存储到数组 `words` 中。接着,我们创建了一个哈希表 `wordFrequency`,用于统计每个单词出现的频率。
遍历 `words` 数组,对于每个单词,如果在哈希表 `wordFrequency` 中已经存在,则将其出现次数加 1;否则,将其添加到哈希表中,并将出现次数设置为 1。
最后,我们遍历哈希表 `wordFrequency`,输出每个单词及其出现的次数。注意,上面的代码中只是一个示例。实际开发中,你需要根据具体需求、业务逻辑以及代码规范进行相应的修改和优化。
编写程序接收用户输入的一段英文字符串,输出这段字符串中出现的字母和出现频率。
```python
string = input("请输入一段英文字符串:")
freq_dict = {}
for char in string:
if char.isalpha():
if char in freq_dict:
freq_dict[char] += 1
else:
freq_dict[char] = 1
print("出现的字母和出现频率如下:")
for char, freq in freq_dict.items():
print(char + ": " + str(freq))
```
说明:
1. 首先接收用户输入的字符串,存储在变量 `string` 中。
2. 创建一个空字典 `freq_dict`,用于存储每个字母出现的频率。
3. 遍历字符串中的每个字符,判断是否为字母。如果是字母,则判断它是否已经在字典中出现过。如果出现过,则将其对应的频率加 1,否则将其添加到字典中,并将其频率设置为 1。
4. 遍历字典中的每个键值对,输出字母和对应的频率。