在python中使用多个元素进行排序

2024-09-28 01:32:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试对以下列表进行排序:

SKP3_CHU;20160101;0.0;Reproceso;
SKP3_CHU;20160102;10.4186115265;Reproceso;
SKP3_CHU;20160103;13.4833335876;Reproceso;
SKP3_CHU;20160104;16.0980548859;Reproceso;
SKP3_CHU;20160105;6.93333339691;Falta Espacio;
SKP3_CHU;20160106;5.93333339691;Falta Espacio;
SKP3_CHU;20160107;6.28138732918;Falta Espacio;
SKP3_CHU;20160108;13.0666666031;Falta Demanda;
SKP3_CHU;20160109;17.3333339691;Falta Demanda;
SKP3_CHU;20160110;17.3333339691;Falta Demanda;
SKP3_CHU;20160111;17.3333339691;Falta Demanda;
SKP3_CHU;20160112;17.3333339691;Falta Demanda;
SKP3_CHU;20160113;18.2833347321;Falta Demanda;
SKP3_CHU;20160114;14.0166664124;Falta Demanda;
SKP3_CHU;20160115;18.2833347321;Falta Demanda;
SKP3_CHU;20160116;18.2833347321;Falta Demanda;
SKP3_CHU;20160117;18.2833347321;Falta Demanda;
SKP3_CHU;20160118;18.2833347321;Falta Demanda;
SKP3_CHU;20160119;17.5166664124;Falta Demanda;
SKP3_CHU;20160120;18.2833347321;Falta Demanda;
SKP3_CHU;20160121;14.0166664124;Falta Demanda;
SKP3_CHU;20160122;18.2833347321;Falta Demanda;
SKP3_CHU;20160123;18.2833347321;Falta Demanda;
SKP3_CHU;20160124;18.2833347321;Falta Demanda;
SKP3_CHU;20160125;18.2833347321;Falta Demanda;
SKP3_CHU;20160126;16.75;Falta Demanda;
SKP3_CHU;20160127;18.2833347321;Falta Demanda;
SKP3_CHU;20160128;14.0166664124;Falta Demanda;
SKP3_CHU;20160129;18.2833347321;Falta Demanda;
SKP3_CHU;20160130;18.2833347321;Falta Demanda;
SKP3_CHU;20160131;18.2833347321;Falta Demanda;
SKP3_CHU;20160104;0.851945877;Falta Espacio;
SKP3_CHU;20160107;6.05194568622;Falta Demanda;

使用以下代码:

regist.sort(key = operator.itemgetter(0,3,1))

但最后两个项目总是在底部结束,是我订购项目的方式错误,还是我应该添加其他东西

编辑 用于添加注册表列表的代码:

var = str(Linea) + ";" + str(bkt) + ";" + str(val502) + ";;0;"
regist.append(var)

我省略了一些行,它们在文本文件中写入了一些数据


Tags: 项目key代码列表排序varsortstr
1条回答
网友
1楼 · 发布于 2024-09-28 01:32:34

假设你把这些都写进了一个文件:

import csv

getter = operator.itemgetter(0,3,1)

with open('path/to/file') as infile:
    answer = sorted(list(csv.reader(infile, delimiter=';')) key=lambda row:(row[0], row[3], int(row[1])))

相关问题 更多 >

    热门问题