cuốn sách gpt4 ai đã làm

python - 试图将日期列表放入 date.year、date.month、date.day 中进行比较?

In lại Tác giả: Walker 123 更新时间:2023-11-28 22:40:31 27 4
mua khóa gpt4 Nike

我有一个列表列表,每个列表中都有整数值,代表 8 年期间的日期。

     dates = [[2014, 11, 14], [2014, 11, 13], ....., [2013, 12, 01].....]

我需要将这些日期与存储在文件中的其他数据进行比较,以便找到每月的平均费用。所以我需要弄清楚如何遍历日期并在月份更改时停止。每个日期都有相应的成本和数量值,我需要这些值才能找到平均值。

所以我试图找到一种方法来制作 x.year、x.month、x.day 格式的日期并按照这种方式进行,但我是 python 的新手并且非常困惑。

如何遍历 8 年期间的所有日期,但停止并计算每个特定月份的数据平均值并存储每个月的平均值?

在此先感谢,希望这是有道理的。

câu trả lời hay nhất

您可以使用字典将年和月保存为键,将列表中的相关日期保存为值,然后您可以对按年和月分类的项目进行任何处理。

>>> dates = [['2014', '11', '14'], ['2014', '10', '13'], ['2014', '10', '01'], ['2014', '12', '01'], ['2013', '12', '01'], ['2013', '12', '09'], ['2013', '10', '01'], ['2013', '10', '05'], ['2013', '04', '01']]
>>> my_dict = {}
>>>
>>> for y,m,d in dates:
... my_dict.setdefault((y,m),[]).append(d)
...
>>> my_dict
{('2013', '10'): ['01', '05'], ('2013', '12'): ['01', '09'], ('2014', '11'): ['14'], ('2014', '10'): ['13', '01'], ('2014', '12'): ['01'], ('2013', '04'): ['01']}
>>>

您可以使用嵌套列表理解将结果转换为日期时间对象的相对月份的嵌套列表:

>>> [[datetime(int(y),int(m),int(d)) for d in days] for (y,m),days in my_dict.items()]
[[datetime.datetime(2013, 10, 1, 0, 0), datetime.datetime(2013, 10, 5, 0, 0)], [datetime.datetime(2013, 12, 1, 0, 0), datetime.datetime(2013, 12, 9, 0, 0)], [datetime.datetime(2014, 11, 14, 0, 0)], [datetime.datetime(2014, 10, 13, 0, 0), datetime.datetime(2014, 10, 1, 0, 0)], [datetime.datetime(2014, 12, 1, 0, 0)], [datetime.datetime(2013, 4, 1, 0, 0)]]

关于python - 试图将日期列表放入 date.year、date.month、date.day 中进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33546935/

27 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress