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