我正在尝试构建一个函数,通过查找共享相同顶点的函数来帮助我获取相邻区域。 Region对象有一个方法 getVertices ,它将返回一个元组列表: [(0,0),(0,1),(1,0),(1,1)]。 它还有一个属性和方法,用于设置要进一步重用的Id(下面的 setId / getId )。 我试图迭代一个区域列表(变量称为区域),首先分配Ids然后再次迭代 - 对于每个区域中的每个顶点,循环其余区域以查看它们中的任何一个是否将这个顶点保持在它们的顶点中组。但是,下面是失败的:
def findAdjacent(regions):
i = 0
for region in regions:
region.setId(i)
i += 1
for region in regions:
for vertice in region.getVertices():
for regionN in regions:
if any(vertice == v for v in regionN.getVertices()):
region.addAdjacent(regionN.getId)
if any(vertice == v for v in regionn.getVertices()):
ValueError:具有多个元素的数组的真值 暧昧。使用a.any()或a.all()。
我的印象是,这可能会失败,因为有些人认为元组是一个列表,但显然情况并非如此,因为两个元组对象应该比较好。你介意我指出我逻辑中的缺陷吗?