如何使用 if 条件在循环中递增迭代器?
How to increment iterator in loop with if condition?
我有一个 xarray
数据数组,我想按年份将其重新分配给字典。我无法获得正确的增量,因为代码只能正确获得前 3 年(直到第一个闰年)的日期。我尝试删除所有闰年,这样我只能有 365 的增量,但是,此后我遇到了内存错误。
pre={}
start=-365
for i in np.arange(1982,2020):
if not i in leap_years:
start+=365
pre[i]=precip[start:start+365]
else:
start+=365
pre[i]=precip[start:start+366]
您使用start
的方式,设置pre[i]
为闰年后需要再次递增
pre={}
start=-365
for i in np.arange(1982,2020):
if not i in leap_years:
start+=365
pre[i]=precip[start:start+365]
else:
start+=365
pre[i]=precip[start:start+366]
<b>start+=1</b>
您可以将其简化为
start = 0
for i in np.arange(1982, 2020):
days_in_year = 365 if i not in leap_years else 366
# days_in_year = 365 + int(i in leap_years)
pre[i] = precip[start:start+days_in_year]
start += days_in_year
我有一个 xarray
数据数组,我想按年份将其重新分配给字典。我无法获得正确的增量,因为代码只能正确获得前 3 年(直到第一个闰年)的日期。我尝试删除所有闰年,这样我只能有 365 的增量,但是,此后我遇到了内存错误。
pre={}
start=-365
for i in np.arange(1982,2020):
if not i in leap_years:
start+=365
pre[i]=precip[start:start+365]
else:
start+=365
pre[i]=precip[start:start+366]
您使用start
的方式,设置pre[i]
为闰年后需要再次递增
pre={}
start=-365
for i in np.arange(1982,2020):
if not i in leap_years:
start+=365
pre[i]=precip[start:start+365]
else:
start+=365
pre[i]=precip[start:start+366]
<b>start+=1</b>
您可以将其简化为
start = 0
for i in np.arange(1982, 2020):
days_in_year = 365 if i not in leap_years else 366
# days_in_year = 365 + int(i in leap_years)
pre[i] = precip[start:start+days_in_year]
start += days_in_year