сравнение двух списков сопряженных данных и удаление тех, которые не соответствуют критериям, python

#python #list

#python #Список

Вопрос:

У меня есть тонна файлов csv, и мне нужно удалить те, которые прошли определенные даты:

Итак, я перебрал имена файлов и создал каталог файлов в виде текстового файла, например

 TESTINGSZIPPEDFILESfut_opt_taq_1min202020201221E1AE1AF1E1AF1.C1800.csv
TESTINGSZIPPEDFILESfut_opt_taq_1min202020201223EWEWH1EWH1.C3730.csv
TESTINGSZIPPEDFILESfut_opt_taq_1min202020201223EWEWJ1EWJ1.C3450.csv
 

и я хочу сравнить их со списком дат истечения срока действия и удалить устаревшие:

 ['13/03/2017', 'E3AH7'], ['15/03/2017', 'E3CH7'], ['17/03/2017', 'ESH7'], ['20/03/2017', 'E4AH7'], ['22/03/2017', 'E4CH7'], ['24/03/2017', 'EW4H7'], ['27/03/2017', 'E5AH7'], ['29/03/2017', 'E5CH7'], ['31/03/2017', 'EWH7'], ['03/04/2017', 'E1AJ7']
 

итак, если date ( 20201221 ) для EWJ1> ['03/04/2020', 'EWJ1'] тогда я удаляю файл с именем

 TESTINGSZIPPEDFILESfut_opt_taq_1min202020201223EWEWJ1EWJ1.C3450.csv
 

Просто не уверен, как это сделать, я видел, как легко сравнивать списки, но неясно, когда список состоит из пар (а также формат даты отличается)? Спасибо за поддержку

Ответ №1:

ну, вы можете получить время и проанализировать несколько списков подобным образом:

 >>> import time
>>> t = time.localtime
>>> t().tm_year, t().tm_mon, t().tm_mday
(2021, 2, 16)
>>> a=[1,2,3]
>>> b=[3,4,5]
>>> for a,b in zip(a,b):
...     print(a, b)
... 
1 3
2 4
3 5
>>> 
 

Итак, сравните два списка в функции, которая создает и возвращает новый.
Не стесняйтесь создавать несколько функций для выполнения этой специальной задачи, если это
проще сделать.

Комментарии:

1. спасибо, но это не решает проблему, поскольку мои списки больше похожи на a = [(1, x), (2, y), (3, z)], b = [ (4, x), (5, y), (6, z)], вот что беспокоитя!! Спасибо