使用python语言编写代码实现,不使用numpy 与 pandas,二维数据为列表套列表的格式:从文件中读取数据,计算二维数据中每列数据的总和并排序
时间: 2024-01-22 07:20:22 浏览: 70
可以使用Python内置的文件操作函数来读取文件,然后使用循环和条件语句计算每列数据的总和,最后使用sorted函数对结果进行排序。
以下是示例代码:
```
# 打开文件并读取数据
with open('data.txt', 'r') as f:
lines = f.readlines()
# 将数据转换为二维列表
data = [line.strip().split(',') for line in lines]
# 计算每列数据的总和并存储在字典中
sums = {}
for row in data:
for i, val in enumerate(row):
if i not in sums:
sums[i] = 0
sums[i] += float(val)
# 对结果进行排序并输出
sorted_sums = sorted(sums.items(), key=lambda x: x[1], reverse=True)
for col, total in sorted_sums:
print(f'Column {col+1}: {total}')
```
其中,假设数据文件名为`data.txt`,每行数据以逗号分隔。首先使用`with`语句打开文件并读取所有行数据,然后将每行数据转换为一个列表,最终得到一个二维列表`data`。
接下来使用两层循环遍历每列数据,并将每列数据的总和存储在一个字典`sums`中。循环中使用`enumerate`函数可以同时获得数据值和对应的列索引。
最后使用`sorted`函数对字典按照总和进行排序,得到一个包含元组的列表`sorted_sums`,其中每个元组包含列索引和对应的总和。循环输出排序后的结果即可。
阅读全文