>>> pairs = [(a, b) for a in main_streets for b in main_streets if a.nodes[-1] == b.nodes[0]]
接下来,确定哪条是第一条街道:
^{pr2}$
现在建立一条街道链。在
>>> unordered = [s for s in main_streets if s not in ordered]
>>> for i in range(len(unordered)):
>>> for (j, s) in enumerate(unordered):
>>> if s.nodes[0] == ordered[-1].nodes[-1]:
>>> ordered.append(unordered.pop(j))
>>> break
如果街道形成一个单一的,连续的链条,那么你可以按如下顺序排列。首先,创建所有连接的街道对:
接下来,确定哪条是第一条街道:
^{pr2}$现在建立一条街道链。在
如果链中有一个中断(即,它们没有全部连接起来),那么
unordered
在迭代完成后仍将包含项。如果您有多个链段,您可以从初始的ordered
列表开始,并分别为这些项运行上面的最后一个部分。在相关问题 更多 >
编程相关推荐