温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中for循环的动态范围怎么弄

发布时间:2020-11-05 09:20:23 来源:亿速云 阅读:309 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关Python中for循环的动态范围怎么弄的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

我正在遍历列表,可以在迭代期间将元素添加到此列表中。所以问题是循环只迭代这个列表的原始长度。

代码:

i = 1    for p in srcPts[1:]:  # skip the first item.        pt1 = srcPts[i - 1]["Point"]        pt2 = p["Point"]        d = MathUtils.distance(pt1, pt2)        if (D + d) >= I:            qx = pt1.X + ((I - D) / d) * (pt2.X - pt1.X)            qy = pt1.Y + ((I - D) / d) * (pt2.Y - pt1.Y)            q  = Point(float(qx), float(qy))            # Append new point q.            dstPts.append(q)            # Insert 'q' at position i in points s.t. 'q' will be the next i.            srcPts.insert(i, {"Point": q})            D = 0.0        else:            D += d        i += 1

我已尝试在范围内使用for i(1,len(srcPts)):但是,即使将更多项目添加到列表中,范围也会保持不变。

问题是当你将它作为参数传递给范围生成器时,len(srcPts)只计算一次。因此,您需要有一个终止条件,在每次迭代期间重复计算srcPts的当前长度。有很多方法可以做到这一点,例如:

while i < len(srcPts):  ....

感谢各位的阅读!关于Python中for循环的动态范围怎么弄就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI