Python中排序主要有两个函数:sorted和列表成员函数sort,两者除了调用方式有些区别外,最显著的区别是sorted会新建一个排序好的列表并返回,而sort是修改原列表并排好序。sorted的原型是:
sorted(iterable, cmp=None, key=None, reverse=False)
sort的原型是:
list.sort(cmp=None, key=None, reverse=False)
其中cmp和key都是函数引用,即可以传入函数名。这两个函数都是对list里的成员进行运算。reverse是指是否逆序。
在c中经常会出现结构体或链表之类的数据结构,而这在Python中也是可以处理的。
如数据结构是这样的:
学号 分数1 分数2
10000007 90 78
那么可以用一个列表保存学生的信息,即
info = ['10000007', '90', '78']
如果是简单的按某一分数进行排序,如按分数2排序,则可以这样:
如果输入的数据是:
14 #学生总数
10000001 64 90 #具体信息
10000002 90 60
10000011 85 80
10000003 85 80
10000004 80 85
10000005 82 77
10000006 83 76
10000007 90 78
10000008 75 79
10000009 59 90
10000010 88 45
10000012 80 100
10000013 90 99
10000014 66 60
代码:
#!/usr/bin/python
def getKey( x ):
return int(x[2])
num