类型错误:'Route'对象不可下标操作 Python
这是我写的一个脚本,它可以读取一个JSON文件,并把一些路径添加到一个图形中。
for route in data['routes']:
route = Route(route['ports'][0], route['ports'][1], route['distance'])
self.add_route(route)
route_2 = Route (route['ports'][1], route['ports'][0], route['distance'])
self.add_route(route_2)
但是它给我报了这个错:
Traceback (most recent call last):
File "C:\workspace\Assignment2.1\src\Main.py", line 75, in <module>
graph.build_from_file()
File "C:\workspace\Assignment2.1\src\Graph.py", line 195, in build_from_file
route_2 = Route (route['ports'][1], route['ports'][0], route['distance'])
TypeError: 'Route' object is not subscriptable
注意到它在第二次调用Route构造函数的时候出错,而不是第一次。有没有人能帮我解决这个问题?
1 个回答
4
你把两个不同的东西都叫做 route
。
在你创建了第一个 Route
之后,route
这个变量就指向了它,而不是你原来的数据。
修正后的代码:
for route in data['routes']:
route_1 = Route(route['ports'][0], route['ports'][1], route['distance'])
self.add_route(route_1)
route_2 = Route(route['ports'][1], route['ports'][0], route['distance'])
self.add_route(route_2)