You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以Pythonic方式筛选日期列表中符合指定年月日的元素?

提取指定日期的Pythonic实现

要从格式为DD_MM_YYYY的日期字符串列表Dates_list中,精准提取日=01、月=06、年=1950的元素,有两种简洁的Pythonic写法:

方法一:直接匹配完整字符串

如果确定所有日期严格遵循DD_MM_YYYY格式,直接判断字符串是否等于目标日期即可,效率最高:

new_list = [date for date in Dates_list if date == "01_06_1950"]

方法二:拆分后验证各部分

如果需要更灵活的验证(比如兼容格式微小差异,需确保拆分后是三个部分),可以拆分字符串后分别检查日、月、年:

new_list = [date for date in Dates_list 
            if date.split("_") == ["01", "06", "1950"]]

或者拆分后逐个判断条件,可读性更强:

new_list = [date for date in Dates_list 
            if (dd := date.split("_")[0]) == "01" 
            and (mm := date.split("_")[1]) == "06" 
            and (yyyy := date.split("_")[2]) == "1950"]

原写法问题说明

你之前的列表推导式逻辑错误:(x in for x in [DD,MM, YYYY ])不仅语法不合法,即便修正,也是判断日期字符串是否包含任意一个子串(逻辑或),无法实现三个条件同时满足的需求。

内容的提问来源于stack exchange,提问作者Rocco B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 08:35:30