我有存储在词典seasons
的month,day
下列元组:如何遍历元组字典?
seasons = {
'S1': (
((1, 10),(5, 31))
),
'S2': (
((9, 1),(1, 9))
),
'S3': (
((6, 1),(9, 30))
)
}
我想在一个日期时间dt
位于该日期时间间隔检查和分配名称S1
,S2
或S3
,相应。
我试过这样做,但start
和end
似乎是数字而不是元组。
def getSeason(dt):
season = None
for t, ranges in seasons.items():
for start, end in ranges:
if date(dt.year,start(0),start(1)) <= dt.date() <= date(dt.year,end(0),end(1)):
season = t
break
if season is not None:
break
return season
日期是毫无意义的,而不年。你应该存储这些年。 –
@StevenRumbalski,OP只是检查给定日期是否在一个季节(秋季,春季等)。没有需要的一年。 如果OP包含年份,那么使用datetime.date将是一个好主意。 – RagingRoosevelt
@StevenRumbalski:我知道如何处理日期。在我的情况下,我需要(月,日)对没有几年。韦尔,我知道我应该解决的任务...... – Dinosaurius