有一系列SEP events需要按日期排序,文件名格式如下:
SEP_date=[‘2000_11_24’, ‘2000_7_14’, ‘2001_10_1’, ‘2000_11_26’, ‘1998_9_30’, ‘2004_7_25’,
‘2005_9_7’, ‘2002_11_9’, ‘1997_11_6’, ‘2006_12_6’, ‘2005_1_20’, ‘2003_10_26’, ‘2001_1_28’,
‘2005_6_17’, ‘2001_4_18’, ‘2004_11_8’, ‘1998_11_14’, ‘2002_5_22’, ‘1997_11_4’, ‘2006_12_13’,
‘2001_11_22’, ‘2001_4_2’, ‘2004_11_10’, ‘2001_11_4’, ‘2000_11_8’, ‘2001_4_12’, ‘1998_4_20’,
‘2005_1_17’, ‘2004_11_1’, ‘2001_4_10’, ‘2005_1_16’, ‘2003_10_28’, ‘2005_8_22’, ‘2001_4_15’, ‘2003_10_29’,
‘2002_7_15’, ‘2004_11_7’, ‘2002_9_5’, ‘1998_8_24’, ‘2001_8_16’, ‘2005_5_13’, ‘2002_8_22’, ‘2003_11_4’,
‘2005_9_13’, ‘2004_9_12’, ‘2001_9_24’, ‘1998_5_2’, ‘2002_4_21’, ‘2005_7_14’, ‘2002_8_24’, ‘2001_12_31’,
‘2003_11_2’, ‘1998_5_6’, ‘2001_12_26’]
sort()函数不管用,只会按年份排序,月日依然是乱序
查到了这篇文章
思路是用**.split()**函数把名字拆成三个字符串,再转int,就好排序了。
for i in range(len(SEP_date)):
SEP_date[i] = SEP_date[i].split('_')
SEP_date[i][0] = int(SEP_date[i][0])
SEP_date[i][1] = int(SEP_date[i][1])
SEP_date[i][2] = int(SEP_date[i][2])
SEP_date.sort()
for i in range(len(SEP_date)):
SEP_date[i][0] = str(SEP_date[i][0])
SEP_date[i][1] = str(SEP_date[i][1])
SEP_date[i][2] = str(SEP_date[i][2])
SEP_date[i] = SEP_date[i][0] + '_' + SEP_date[i][1]+ '_' + SEP_date[i][2]
额这该投转载还是原创啊