0
名單我有一個包含這樣的其他名單的列表:循環通過列表在Python
self.trails = [
[10, 50],
[20, 30],
[100,50],
[25, 75]
]
,我被它試圖環和刪除任何項目,如果他們太靠近一些其他的座標:
def distance_real(x1,y1,x2,y2):
return Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))
class MathClass
trails = [
[10, 50],
[20, 30],
[100,50],
[25, 75]
]
def run(self):
pointx = 10
pointy = 15
while 1:
for trail in self.trails:
d = distance_real(pointx, pointy, trail[0], trail[1])
if d < 5:
self.trails.remove(trail)
time.sleep(1.0/30)
該代碼不會刪除應該的所有路徑。添加一個for循環並循環五次後,成功刪除它們。
任何想法?使用for循環在我的情況下效率不高,因爲追蹤包含幾千個實體,並且代碼必須在幾毫秒內運行。
這些座標中沒有一個距離小於5的'(10,15)'。 –
@Rawing這些數字僅用於演示。 – Globala