从文件in.txt读取信息,文件里的单词中间由空格隔开 统计每个单词出现的次数,从大到小排序后输出到文件out.txt 【输入形式】 文件里存储了多个单词,有重复,空格隔开 【输出形式】 从大到小输出单词及其出现的次数,次数一样的单词按字符串比较从小到大排序 【输入样例】in.txt文件里面的数据如下所示: hello world python hello word file number file file 【输出样例】out.txt文件里面的数据如下所示: file 3 hello 2 number 1 python 1 word 1 world 1
时间: 2024-02-28 17:56:25 浏览: 60
好的,以下是一个Python代码示例,可以实现从文件in.txt读取信息,统计每个单词出现的次数,从大到小排序后输出到文件out.txt:
```python
# 读取文件内容
with open('in.txt', 'r') as f:
content = f.read()
# 将字符串转换为单词列表
words = content.split()
# 统计每个单词出现的次数
word_count = {}
for word in words:
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], x[0]))
# 将结果输出到文件out.txt
with open('out.txt', 'w') as f:
for word, count in sorted_word_count:
f.write(f"{word} {count}\n")
```
代码中使用了`with open`语句来读取和写入文件,这种方式可以自动管理文件的打开和关闭,避免因为程序出现异常而导致文件未正确关闭的问题。首先读取文件内容,并使用`split`方法将字符串转换为单词列表。然后使用一个字典`word_count`来统计每个单词出现的次数,遍历单词列表,如果单词已经在字典中,则将其计数加1,否则将其加入字典并初始化计数为1。接下来使用`sorted`函数对字典按照出现次数从大到小排序,如果次数一样则按照字符串比较从小到大排序,排序的依据使用了`key`参数和一个Lambda函数。最后将结果输出到文件out.txt中,每行一个单词及其出现次数,使用字符串格式化方法`f-string`来拼接字符串。
阅读全文