Вы должны иметь ваши данные в списке списка, который, я думаю, вы, вероятно, делаете. Я изменил pageList, чтобы сделать это с каждым внутренним списком, имеющим другое время. Теперь мы можем использовать сортировку python(), но мы должны предоставить нашу собственную функцию сравнения. Итак, здесь у нас есть pageList.sort (mySort). Сортировка() передает два элемента списка для сравнения. Здесь каждый элемент является внутренним списком. Нам нужно объединить элементы 6 и 7, чтобы сформировать единую временную строку даты; затем преобразуйте его в datetime python, чтобы мы могли сравнить их.
Поскольку кортежи длинные, я распечатываю только даты и время из внутреннего списка после сортировки, чтобы показать, что он работает.
import datetime
pageList =[['Page Title', '383551192', '298288254', 'dt206xxx', '1/7/16 1:05 PM', 'dt206xxx', '1/7/16', '1:56PM', '2', 'http://xx.xxx.xx.xx:8xxx/display/mine/PageTitle'],
['Page Title', '383551192', '298288254', 'dt206xxx', '1/7/16 1:05 PM', 'dt206xxx', '1/7/16', '1:46PM', '2', 'http://xx.xxx.xx.xx:8xxx/display/mine/PageTitle'],
['Page Title', '383551192', '298288254', 'dt206xxx', '1/7/16 1:05 PM', 'dt206xxx', '1/7/16', '1:56PM', '2', 'http://xx.xxx.xx.xx:8xxx/display/mine/PageTitle'],
['Page Title', '383551192', '298288254', 'dt206xxx', '1/7/16 1:05 PM', 'dt206xxx', '1/7/16', '1:16PM', '2', 'http://xx.xxx.xx.xx:8xxx/display/mine/PageTitle'],
['Page Title', '383551192', '298288254', 'dt206xxx', '1/7/16 1:05 PM', 'dt206xxx', '1/7/16', '1:36PM', '2', 'http://xx.xxx.xx.xx:8xxx/display/mine/PageTitle']]
def mySort(a,b):
c = a[6] + ' ' + a[7]
d = b[6] + ' ' + b[7]
date1 = datetime.datetime.strptime(c, '%m/%d/%y %I:%M%p')
date2 = datetime.datetime.strptime(d, '%m/%d/%y %I:%M%p')
return cmp(date1, date2)
if __name__ == '__main__':
pageList.sort(mySort)
for i in range(len(pageList)):
print i,pageList[i][6],' ',pageList[i][7]
Выход:
0 1/7/16 1:16 вечера
1 1/7/16 1:36 вечера
2 1/7/16 1:46 вечера
3 1/7/16 13:56 PM
4 1/7/16 13:56 PM
Возможный дубликат [Сортировка списка строк даты] (http://stackoverflow.com/questions/17627531/sort-list-of-date-strings) – Kev1n91
'item1' не похож на дату или время ... как вы хотите, чтобы это отсортировано? – qxz
Из вашего 'myList' видно, что у вас есть список списков. Сорт Python стабилен. Сортировка дважды, сначала по времени, а затем по дате. – Marichyasana