编写程序(Python),假设文本文件in. txt中存放了若干个0-9的数字,每个数字之间用空格分隔,统计出每个数字的出现↑次数,并输出前5个次数最高的(数字:次数)到out.txt文件中。
时间: 2023-11-22 13:53:18 浏览: 61
python 读取数据.rar_python读取txt_数据转换_读txt数据_读取txt_读取txt数据
可以使用Python中的字典(dict)来实现数字的出现次数统计,具体步骤如下:
1. 打开文件并读取内容到一个字符串变量中。
2. 将字符串按空格分割成一个数字列表。
3. 遍历数字列表,使用字典记录每个数字出现的次数。
4. 将字典按照次数降序排序,并取前5个键值对。
5. 将结果输出到out.txt文件中。
下面是实现代码:
```python
with open('in.txt', 'r') as f:
content = f.read().strip()
numbers = content.split()
freq = {}
for num in numbers:
if num not in freq:
freq[num] = 0
freq[num] += 1
sorted_freq = sorted(freq.items(), key=lambda x: x[1], reverse=True)[:5]
with open('out.txt', 'w') as f:
for num, count in sorted_freq:
f.write(num + ':' + str(count) + '\n')
```
这段代码中,通过`open`函数打开in.txt文件,并使用`read`方法读取文件内容到`content`变量中。然后将`content`按空格分割成`numbers`列表。接着使用`freq`字典记录每个数字出现的次数,最后使用`sorted`函数对`freq`字典按照次数降序排序,并取前5个键值对。最后使用`open`函数打开out.txt文件,并使用`write`方法将结果输出到文件中。
阅读全文