我已经在这方面工作了一段时间,我无法从我编码的循环中得到我想要的迭代。代码首先调用headerBody10()并将输出附加到列表dist。列表中有两列,dist中的列0是FROM数据,列1是TO数据。当附加dist列表时,它是一个列表列表。
我想找到FROM与TO类似的所有数据行,或者哪些道路有交集。我希望这段代码通过所有TO数据运行每个FROM,到目前为止,我只有第一行FROM运行所有TO行。因此,incrementor m是FROM列,n是TO列。所以问题是我怎样才能让每一行FROM都穿过TO的每一行?
n = 0
m = 0
dist = []
match = []
for line in headerBody10():
dist.append(line)
try:
for data in dist:
for line in data:
if dist[n][1] in dist[m][0]:
match.append([dist[n][1],dist[m][0],n,m])
else:
m = m + 1
n = n + 1
except IndexError:
print match
以下是一些示例输入:
26th St South, Jct 13th St South
N-101 10th St, Jct 23rd St NE
Central Ave, Interstate 15
17Th St NE, N-104 10th St N
N-60 10th Ave S, End 4 lane
Fox Farm Rd , Flood Road
这是最新输出,此输出来自else子句,因此未找到匹配项。 m正在迭代,但在n可以迭代之前停止。
I-15 Gore Hill Concrete 1 0
I-15 Gore Hill Fox Farm Rd 2 0
I-15 Gore Hill 13th St South 3 0
I-15 Gore Hill 23rd St NE 4 0
I-15 Gore Hill Intererstate 15 5 0
I-15 Gore Hill N-104 10th St N 6 0
I-15 Gore Hill 4 lane 7 0
I-15 Gore Hill Flood Road 8 0
I-15 Gore Hill Division 9 0
I-15 Gore Hill 6th St 10 0
I-15 Gore Hill Concrete 11 0
答案 0 :(得分:1)
我只想取出其他n,m初始化和迭代(添加)
for n in range(0,len(dist)):
for m in range(0,len(dist)):
if dist[n][1] in dist[m][0]:
match.append([dist[n][1],dist[m][0],n,m])