溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中for循環(huán)的動態(tài)范圍怎么弄

發(fā)布時間:2020-11-05 09:20:23 來源:億速云 閱讀:310 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(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é)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(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)容。

AI