您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Python中for循環(huán)的動態(tài)范圍怎么弄的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
我正在遍歷列表,可以在迭代期間將元素添加到此列表中。所以問題是循環(huán)只迭代這個列表的原始長度。
代碼:
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
我已嘗試在范圍內(nèi)使用for i(1,len(srcPts)):但是,即使將更多項目添加到列表中,范圍也會保持不變。
問題是當你將它作為參數(shù)傳遞給范圍生成器時,len(srcPts)只計算一次。因此,您需要有一個終止條件,在每次迭代期間重復(fù)計算srcPts的當前長度。有很多方法可以做到這一點,例如:
while i < len(srcPts): ....
感謝各位的閱讀!關(guān)于Python中for循環(huán)的動態(tài)范圍怎么弄就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。