Skip to main content
 首页 » 编程设计

python之如何过滤包含日期的字符串列表

2025年05月04日22me-sa

我有一个用 python 生成的动态列表,如何过滤该列表以仅显示具有 dates > 20190612

的文件
"PUBLIC_DAILY_201906150000_20190616040503.zip" 
"PUBLIC_DAILY_201906110000_20190612040501.zip" 
"PUBLIC_DAILY_201906120000_20190613040503.zip" 
"PUBLIC_DAILY_201906100000_20190611040501.zip" 
"PUBLIC_DAILY_201906130000_20190614040503.zip" 

结果将是那些项目的列表

"PUBLIC_DAILY_201906130000_20190614040503.zip" 
"PUBLIC_DAILY_201906150000_20190616040503.zip" 

谢谢

请您参考如下方法:

我们可以尝试在子字符串的帮助下进行过滤:

# list input 
output = list(filter(lambda x: x[13:21] > '20190612', input)) 
print(output) 
 
['PUBLIC_DAILY_201906150000_20190616040503.zip', 
 'PUBLIC_DAILY_201906130000_20190614040503.zip'] 

这实际上是获取第一个日期的子字符串,然后将其与另一个字符串日期进行比较。我们在这里不进行字符串比较,因为涉及的所有日期都是固定宽度的。最佳做法可能是将所有文本字符串转换为真正的日期,然后进行比较。