我在 python 中需要一些帮助。
我正在使用Aimsun交通模拟器做一些模拟,编程语言是python。
我的问题是:
我需要搜索车辆可以走的所有可能路线。
我得到这些不完整的路线:
1. Route 1 - [967, 973]
2. Route 2 - [967, 970]
3. Route 3 - [970, 396]
4. Route 4 - [396, 3269]
5. Route 5 - [3269, 3275]
6. Route 6 - [3275, 3278]
7. Route 7 - [3278, 404]
8. Route 8 - [3278, 408]
9. Route 9 - [404, 448]
10. Route 10 - [408, 410]
11. Route 11 - [408, 411]
12. Route 12 - [448, 454]
13. Route 13 - [410, 419]
14. Route 14 - [410, 433]
15. Route 15 - [410, 437]
16. Route 17 - [411, 412]
起点是 967,所以任何车辆都会从这个点开始。
此列表表示部分的连接,因此如果第二列中的值在第一列中的下一个值中不重复,则该值将表示终点,因此车辆将完成行程。
因此,对于完成第一条路线,我们有:
Route Finish 1 - [967, 973]
因为 973 不要在第一列中重复。
在这种情况下很简单,我用这条路线存储一个变量。
现在开始问题:
第二条路线由路线2,3,4,5,6组成,所以,
Route 2 - [967, 970, 396, 3269, 3275, 3278]
但问题是 3278 在第一列中重复了两次:
1. Route 7 - [3278, 404]
2. Route 8 - [3278, 408]
所以我还有两条路线:
1. Route x - [967, 970, 396, 3269, 3275, 3278, 404]
2. Route y - [967, 970, 396, 3269, 3275, 3278, 408]
并且问题增加
1. Route a - [967, 970, 396, 3269, 3275, 3278, 404, 448]
2. Route b - [967, 970, 396, 3269, 3275, 3278, 408, 410]
3. Route c - [967, 970, 396, 3269, 3275, 3278, 408, 411]
4. Route d - [967, 970, 396, 3269, 3275, 3278, 408, 454]
并以同样的方式继续。
如何动态合并此列表,最后我将所有路由都放在变量中,例如:
1. Route Finish 1 - [....]
2. Route Finish 2 - [....]
我尝试了很多代码,比较并存储在变量中,但不起作用。
我希望你们已经明白了。