用python代码写文件in.txt (在作业附件里面)读取信息,文件里的单词中间由空格隔开,统计每个单词出现的次数,从大到小排序后输出到文件out.txt
时间: 2024-02-03 08:15:57 浏览: 75
可以使用Python中的字典来实现单词计数,然后使用sorted函数按照字典值从大到小排序。具体代码如下:
```python
# 读取文件内容
with open('in.txt', 'r') as f:
content = f.read()
# 统计单词出现次数
word_count = {}
for word in content.split():
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 按照单词出现次数从大到小排序
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
# 输出结果到文件
with open('out.txt', 'w') as f:
for word, count in sorted_word_count:
f.write(word + ' ' + str(count) + '\n')
```
这段代码会将处理后的结果输出到out.txt文件中。
相关问题
第1题 从文件in.txt(在作业附件里面)读取信息,文件里的单词中间由空格隔开,统计每个单词出现的次数,从大到小排序后输出到文件out.txt 【输入形式】 文件里存储了多个单词,有重复,空格隔开
好的,我了解了你的问题。这是一个很常见的文本处理问题,我可以帮你编写一个 Python 程序来解决这个问题。
以下是 Python 代码实现:
```python
# 读取文件内容
with open('in.txt', 'r') as f:
words = f.read().split()
# 统计单词出现次数
word_count = {}
for word in words:
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
# 按照单词出现次数从大到小排序
word_count_sorted = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
# 输出结果到文件
with open('out.txt', 'w') as f:
for word, count in word_count_sorted:
f.write(f"{word} {count}\n")
```
这个程序的思路很简单:
1. 用 `with open()` 语句读取文件内容,并将单词存储在列表 `words` 中。
2. 遍历 `words` 列表,统计每个单词出现的次数,并将结果存储在字典 `word_count` 中。
3. 将 `word_count` 中的数据按照值从大到小排序,并将结果存储在列表 `word_count_sorted` 中。
4. 将排序后的结果输出到文件 `out.txt` 中。
你只需要将上述代码保存为 `word_count.py`,然后在命令行中执行 `python word_count.py`,程序就会自动运行并输出结果到 `out.txt` 文件中。
注意,这个程序只能处理纯文本文件,如果文件中包含其他格式的内容,程序可能会出错。
阅读全文