我需要python中的一些幫助。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 - [....]
我嘗試了很多代碼,在變量比較和商店,但不工作。
我希望你們明白。
格拉夫出來。谷歌「深度優先搜索」和/或「廣度優先搜索」。 – roippi