以下功能采用格式为等级类型,等级类型编号,等级的csv文件。示例前10个是分配,分配编号,等级。该函数将前10个放入列表中。
目前它按订单分配,分配编号,等级打印,但我试图按等级,分配,分配编号顺序打印。
def assigment(file):
res = []
f = open(file,'r+')
reader = csv.reader(f)
for i, line in enumerate(reader):
if i < 10:
res.append((line[0],int(line[1]),int(line[2])))
res.sort(key= lambda x: x[2])
max = res[-1]
min = res[0]
print max
print min
答案 0 :(得分:0)
输出数据中有两种排序方式。一个是每行中项目的顺序,另一个是行的顺序。
每行中的项目顺序由行
控制 res.append(( . . .
要修改此顺序,只需更改此行中子表达式的顺序。
要修改线条的顺序,一种非常好的方法是重复排序。首先按最不重要的标准排序,然后按最重要的标准排序。
如果要按每行的元素0排序,按元素1的值断开连接,并按元素2的值断开任何剩余的连接,则在代码中有三行排序,而不是仅1,例如:
res.sort(key= lambda x: x[2])
res.sort(key= lambda x: x[1])
res.sort(key= lambda x: x[0])
或一些等价物。 Python排序是稳定的#34;因此,例如,如果最终排序的键是相同的,最后的排序步骤将保留现有的排序。