Получить последние 5 дат из списка кортежей - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть список lst, который имеет около 100 tuples внутри, который выглядит следующим образом:

[
    ('/var/www/html/wordpress/hyosyo/001.pdf', 'Thu Nov  7 18:07:52 2019'), 
    ('/var/www/html/wordpress/hyosyo/008.pdf', 'Thu Nov  7 18:08:24 2019'),
    ('/var/www/html/wordpress/hyosyo/222.pdf', 'Thu Nov  7 18:10:10 2019'), 
    ('/var/www/html/wordpress/hyosyo/401.pdf', 'Fri Nov  8 09:00:39 2019')
]

это tuples содержит string (имя файла) и ctime файла. Я хотел бы найти 5 самых последних дат (самые новые) и вставить их в новый список с именем string

1 Ответ

0 голосов
/ 08 ноября 2019

Может быть что-то вроде:

import time

trg_arr = [ ('/var/www/html/wordpress/hyosyo/001.pdf', 'Thu Nov  20 18:07:52 2019') \
          , ('/var/www/html/wordpress/hyosyo/008.pdf', 'Thu Nov   7 18:08:24 2019') \
          , ('/var/www/html/wordpress/hyosyo/221.pdf', 'Thu Nov   7 18:10:10 2019') \
          , ('/var/www/html/wordpress/hyosyo/222.pdf', 'Thu Nov   8 18:10:10 2019') \
          , ('/var/www/html/wordpress/hyosyo/223.pdf', 'Thu Nov   9 18:10:10 2019') \
          , ('/var/www/html/wordpress/hyosyo/224.pdf', 'Thu Nov  10 18:10:10 2019') \
          , ('/var/www/html/wordpress/hyosyo/225.pdf', 'Thu Nov  11 18:10:10 2019') \
          , ('/var/www/html/wordpress/hyosyo/226.pdf', 'Thu Nov  12 18:10:10 2019') \
          , ('/var/www/html/wordpress/hyosyo/227.pdf', 'Thu Nov  13 18:10:10 2019') \
          , ('/var/www/html/wordpress/hyosyo/228.pdf', 'Thu Nov  14 18:10:10 2019') \
          , ('/var/www/html/wordpress/hyosyo/401.pdf', 'Fri Nov   8 09:00:39 2019')]

sorted_arr = sorted(trg_arr, key=lambda e: time.strptime(e[1]), reverse=True)
last_five = sorted_arr[:5]

print('Target list:')
print(trg_arr)
print('Sorted list:')
print(sorted_arr)
print('Last five:')
print(last_five)
...