python将列表的列表按照最后一列排序,并将出现最多次数的10个最后一列输入到文件中
时间: 2024-05-15 10:19:23 浏览: 15
假设我们有一个列表的列表`data`,每个子列表有多个元素,我们需要按照最后一列进行排序,并将出现最多次数的10个最后一列写入到文件中。
首先,我们可以使用`sorted`函数对列表的列表进行排序,具体方法是指定`key`参数为最后一列:
```
sorted_data = sorted(data, key=lambda x: x[-1])
```
接下来,我们可以使用`collections.Counter`模块对最后一列进行计数,并取出前10个最常出现的元素:
```
import collections
counter = collections.Counter([x[-1] for x in data])
top10 = counter.most_common(10)
```
最后,我们可以将这10个元素写入到文件中:
```
with open('output.txt', 'w') as f:
for item in top10:
f.write(str(item[0]) + '\n')
```
完整代码如下:
```
import collections
# 假设我们有一个列表的列表data
data = [[1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15], [16,17,18], [19,20,15], [1,2,6], [4,5,6], [7,8,9]]
# 将data按照最后一列排序
sorted_data = sorted(data, key=lambda x: x[-1])
# 统计最后一列出现次数,并取出前10个最常出现的元素
counter = collections.Counter([x[-1] for x in data])
top10 = counter.most_common(10)
# 将top10写入文件
with open('output.txt', 'w') as f:
for item in top10:
f.write(str(item[0]) + '\n')
```