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

标签 python

我有一个用 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/

相关文章:

python - 如何在 python 上绘制颜色条

python - sklearn sgdclassifier 的多输出预测?

python - ibapi.utils 中的 @iswrapper 装饰器是什么?

python - 如何在python中绘制时间序列

python - 匹配多个条件的掩码数据框

python - 如何将字符串转换为列表?

python - 在这种情况下, “pre-image”是什么意思?

python - 使用 DataFrame 中不同组内的引用行来执行数据操作

python - 如何使用 python 将响应写入 JSON 格式的文件中?

python - 使用 Python 生成 Amazon S3 CORS 签名