如何使用Python程序从给定的日期列表中提取年份部分
批量提取日期列表年份的Python实现
针对你给出的日-月-年格式的日期列表,有两种常用实现方案:
方案1:字符串分割(轻量快捷)
你的所有日期都用-作为分隔符,且年份固定在最后一段,直接分割取最后一段即可:
date_list = ['22-7-1997','1-12-1996','17-06-1992','10-09-1999'] # 列表推导式批量提取年份 years = [int(date.split('-')[-1]) for date in date_list] print(years) # 输出: [1997, 1996, 1992, 1999]
- 优点:代码简单、运行速度快,不需要导入额外依赖
- 缺点:不会校验日期本身的合法性,仅适合格式统一的已知数据集
方案2:datetime模块解析(严谨可靠)
如果需要校验日期合法性,或者后续需要做其他日期运算,用Python标准库的datetime解析更稳妥:
from datetime import datetime date_list = ['22-7-1997','1-12-1996','17-06-1992','10-09-1999'] years = [] for d in date_list: # 按照 日-月-四位年 的格式解析字符串 dt = datetime.strptime(d, "%d-%m-%Y") years.append(dt.year) print(years) # 输出: [1997, 1996, 1992, 1999]
- 优点:自动校验日期合法性,遇到格式错误/不存在的日期(比如
32-13-2020)会直接抛出异常,避免脏数据 - 缺点:需要导入内置模块,运行速度略低于字符串分割
内容的提问来源于stack exchange,提问作者Uddhav Parab
相关产品推荐
相关产品推荐

