Python 中有没有办法从 0 开始一个变量,然后在 for 循环中递增 1?

Is there a way in Python to start a variable at 0 and then increment by 1 while in a for loop?

下面是我的代码的一部分,我试图从 0 开始,然后是 1、2、3、4,所以总共有 5 天,只是从 0 开始。有没有简单的方法可以做到这一点因为目前我只有第 1、2、3、4、5 天,因为我 day = day + 1 不允许有 0 天?对不起,如果这是一个愚蠢的问题,我对学习还比较陌生 Python。

density = np.zeros((6, 91, 181))
day = 0
for i,e in df.iterrows():
    lat = int((e['Latitude']+90)/2)
    long = int(e['Longitude']/2)
    if lat == 0.0 and long == 0.0:
        day = day + 1
        print(day)
    density[day,lat,long] = e['rho']

range() 生成一个可用于此目的的可迭代对象,从 0 开始到您指定的任何值结束:

density = np.zeros((6, 91, 181))
days = range(5)                      # assign days to be an iterator, e.g. range()
for i,e in df.iterrows():
    lat = int((e['Latitude']+90)/2)
    long = int(e['Longitude']/2)
    if lat == 0.0 and long == 0.0:
        day = next(days)             # assign day by popping the first value from that iterator
        print(day)
    density[day,lat,long] = e['rho']

如果您想要一个从零开始升序的无限数字列表,您可以制作自己的无限数字生成器:

def inf_ints():
    i = 0
    while True:
        yield i
        i += 1

...
days = inf_ints()
...

不太确定您想要实现什么,但是如果您将 day 初始化为 -1 而不是 0,这不会解决您的问题吗?