2013-02-26 4 views
0

Это скрипт, у меня есть, который читает файл в формате JSON и добавляет маршруты к графеTypeError: объект «Маршрут» не subscriptable Python

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 

Обратите внимание, что при первом вызове конструктора маршрута ошибка не возникает. Может ли кто-нибудь помочь мне с этим?

ответ

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) 
Смежные вопросы