为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

心有法竹 2023-04-25 15:26:55
下面是我的代码的一部分,我试图从 0 开始,然后是 1、2、3、4,所以总共有 5 天,只是从 0 开始。有没有一种简单的方法可以做到这一点,因为目前我我只有第 1、2、3、4、5 天,因为我day = day + 1不允许有 0 天?对不起,如果这是一个愚蠢的问题,我对学习 Python 还是比较陌生。density = np.zeros((6, 91, 181))day = 0for 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']
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

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()

...


查看完整回答
反对 回复 2023-04-25
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信