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

Python如何用当前年份减去出生日期列表的出生年份存入age列表

问题分析

你的现有代码存在两处需要调整的逻辑:

  • 切片得到的x[7:11]已经是完整的年份字符串(例如1990),不需要再调用split("-")拆分
  • 提取的年份是字符串类型,必须转为整数才能和数值类型的当前年份做减法运算

调整后完整代码

dob_list = ['01-Jan-1990', '11-Aug-1995', '15-Apr-1982', '20-Mar-1988', '25-Nov-1976', '07-Dec-1965', 
         '18-Dec-1977', '25-May-1994', '09-Oct-1981', '19-Feb-1981']
year = 2021
age = []

for x in dob_list:
    # 提取年份并转为整数
    birth_year = int(x[7:11])
    # 计算年龄存入列表
    age.append(year - birth_year)

print(age)

运行后输出的age列表结果为:[31, 26, 39, 33, 45, 56, 44, 27, 40, 40]


可选优化方案

如果需要适配更多不同格式的日-月-年日期,避免固定切片长度出错,可以改为按分隔符拆分取最后一段作为出生年份:

for x in dob_list:
    birth_year = int(x.split('-')[-1])
    age.append(year - birth_year)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:15:03