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

如何统计字典列表中含releaseDate且日期晚于指定值的ID数量

解决方案

要统计满足条件的ID数量,我们可以遍历字典列表,逐一检查每个字典是否符合要求,具体实现如下:

方法一:直接字符串比较(简洁高效)

由于你的日期格式是YYYY-MM-DD,这种格式的字符串可以直接按字典序比较大小,无需额外转换:

my_dicts = [
    {"id": "1","fixVersion": "1.2.3","releaseDate": "2017-01-21"},
    {"id": "2","fixVersion": "2.0", "releaseDate": "2023-01-21"},
    {"id": "3","fixVersion": "2.1", "releaseDate": "2023-07-01"},
    {"id": "84","changeRequests":"123"}
]

count = 0
target_date = "2023-01-01"

for item in my_dicts:
    # 同时检查是否存在releaseDate键,以及日期是否晚于目标日期
    if "releaseDate" in item and item["releaseDate"] > target_date:
        count += 1

print(count)  # 输出结果:2

方法二:使用datetime模块(更健壮)

如果需要处理不规范的日期格式,或者要进行更复杂的日期运算,可以用datetime模块解析日期后再比较,同时加入异常处理避免报错:

from datetime import datetime

my_dicts = [
    {"id": "1","fixVersion": "1.2.3","releaseDate": "2017-01-21"},
    {"id": "2","fixVersion": "2.0", "releaseDate": "2023-01-21"},
    {"id": "3","fixVersion": "2.1", "releaseDate": "2023-07-01"},
    {"id": "84","changeRequests":"123"}
]

count = 0
target_date = datetime(2023, 1, 1)

for item in my_dicts:
    if "releaseDate" in item:
        try:
            # 解析日期字符串为datetime对象
            release_date = datetime.strptime(item["releaseDate"], "%Y-%m-%d")
            if release_date > target_date:
                count += 1
        except ValueError:
            # 若日期格式不正确,直接跳过该条目
            continue

print(count)  # 输出结果:2

两种方法都能得到预期的结果2,你可以根据实际场景选择合适的实现方式。

内容的提问来源于stack exchange,提问作者xlxdxf

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:08:12