如何从字典列表中提取最早的日期(仅日期部分)?
获取字典列表中的最早日期(仅日期部分)
解决思路
- 遍历目标字典里的
taps列表,提取每个元素的datetime字段 - 对
datetime字符串按T分割,取前半部分得到纯日期 - 从所有纯日期中筛选出最小的那个,就是最早的日期
代码实现
首先确保你的数据结构正确(已修正示例中的语法错误):
data = { 'taps': [ {'duration': 0, 'datetime': '2022-06-05T09:35:56.131498'}, {'duration': 518, 'datetime': '2022-06-05T09:35:56.649846'}, {'duration': 500, 'datetime': '2022-06-06T09:35:57.150820'} ] }
一行式提取并获取最早日期:
earliest_date = min(tap['datetime'].split('T')[0] for tap in data['taps']) print(earliest_date) # 输出结果:2022-06-05
容错版本(处理缺失datetime字段的情况)
如果担心部分taps元素没有datetime字段,可以加入判断逻辑:
valid_dates = [] for tap in data['taps']: if 'datetime' in tap: valid_dates.append(tap['datetime'].split('T')[0]) if valid_dates: earliest_date = min(valid_dates) print(earliest_date) else: print("未找到有效日期数据")
内容的提问来源于stack exchange,提问作者sos.cott
相关产品推荐
相关产品推荐

