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