這一題如果是用c來寫的話,要用到結(jié)構(gòu)體的多級排序,而我發(fā)現(xiàn)用python來寫的話,如果用sorted函數(shù),只要一句代碼就搞定了,看下面這個結(jié)構(gòu)體:
struct node{
string name,
int year,
int month,
int day,
};
通常我們需要自定義寫我們的cmp函數(shù),但是我發(fā)現(xiàn)在pyhon當(dāng)中,from operator import itemgetter, attrgetter 這兩個東西來做排序而很方便,如下:
res=sorted(res,key=itemgetter(1,2,3))
這樣我們發(fā)現(xiàn),就先按year,month,day這樣的順序做好排序了。
這一題的python代碼如下: 1 import os
2 from operator import itemgetter, attrgetter
3
4 N=int(raw_input())
5 res=[]
6 for i in range(N):
7 in_s=raw_input()
8 li=in_s.split() #default split with blank
9 res.append(tuple(li))
10
11 #sorted(students, key=itemgetter(1,2))
12
13 res=sorted(res,key=itemgetter(1,2,3))
14
15 for i in range(N):
16 print res[i][0]
17
18