我有一个用 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']
这实际上是获取第一个日期的子字符串,然后将其与另一个字符串日期进行比较。我们在这里不进行字符串比较,因为涉及的所有日期都是固定宽度的。最佳做法可能是将所有文本字符串转换为真正的日期,然后进行比较。
关于python - 如何过滤包含日期的字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56696889/