Python 中有没有一种方法可以在 for 循环中从 0 开始变量然后递增 1?

下面是我的代码的一部分,我试图从 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']


心有法竹
浏览 85回答 1
1回答

慕田峪4524236

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()...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python