在我目前正在解决的问题中,涉及公共汽车,因此有望清除代码中提到的停靠点和路线。
所以本质上我想用这个功能实现的是让下一站停下来。我已经解决了这个问题的大约 80%,但我一直坚持到下一站
def nextstop(stops,routes,stopX,routeX):
matchedRoute = []
matchedstop = []
for i in routes:
if routeX in i:
matchedRoute = i
for i in matchedRoute[1]:
if i == stopX[0]:
matchedstop = next(iter(matchedRoute))
print(matchedstop)
所以假设我正在对这个元组进行操作:
('Route 5', [1118, 1114, 1115, 533, 1370, 1091, 2363, 1296, 1298, 763, 852, 851, 995, 815, 814, 848, 846, 845, 842, 841, 838, 822, 819, 818, 997, 996, 767, 622, 621, 620, 1082])
我所拥有的是我想要匹配的停止,例如 [1115[. 我需要以某种方式返回下一站[533]。
但我的代码返回元组“Route 5”的开头
这就是我遇到麻烦的地方,我将如何反对获取序列中的下一个元素?
编辑:按要求澄清
在 Ipython 中,我会这样解析函数
python nextstop(stops,routes,stops[533],'Route 5')
第一个循环获取我在 csv 文件中拥有的大量元组列表,并根据路由名称对它们进行模式匹配。当它匹配时,它将该元组存储为matchedRoute。
然后,我尝试遍历matchedRoute 以查找该路线中的停靠点,并且我需要基于此检索下一个停靠点。