gpt4 book ai didi

python - python 列表中的负值

转载 作者:行者123 更新时间:2023-12-05 08:29:29 24 4
gpt4 key购买 nike

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']

我已拆分列表中的每个元素以获得年份

如何从当年减去出生年份? (例如 2021-1990)

要复制到空字典中的结果 age[]

这是我的代码:

year = 2021
age =[]
dob = []

for x in dob_list:
age +=x[7:11].split("-")
print(age)

最佳答案

我建议使用 datetime 模块来计算准确的日期并避免拆分日期字符串的问题。

calculate_age 函数允许您计算一个人的确切年龄。归功于 this answer .

完整代码如下。

import datetime

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']

date_now = datetime.datetime.now()

age =[]

def calculate_age(date_now, born_date):
return date_now.year - born_date.year - ((date_now.month, date_now.day) < (born_date.month, born_date.day))

for x in dob_list:
date = datetime.datetime.strptime(x, '%d-%b-%Y')
age.append(calculate_age(date_now, date))

print(age)
# Output: [31, 26, 39, 33, 44, 55, 43, 27, 40, 40]

关于python - python 列表中的负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69571290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com