«Ошибка типа: объект списка не может быть вызван» при вызове функции на основе networkx [закрыто]Python

Программы на Python
Anonymous
«Ошибка типа: объект списка не может быть вызван» при вызове функции на основе networkx [закрыто]

Сообщение Anonymous »

Я написал функцию networkx, которая принимает два ориентированных графа и находит корневые узлы.

Код: Выделить всё

def root(graph_1,graph_2):
root_1 = [node for node, in_degree in graph_1.in_degree() if in_degree == 0]
root_2 = [node for node, in_degree in graph_2.in_degree() if in_degree == 0]
if root_1[0] == root_2[0]:
return 1
else:
return 0

Код: Выделить всё

a_graph = nx.DiGraph()
another_graph = nx.DiGraph()

a_graph.add_edges_from([('A', 'B'), ('A', 'C'), ('B', 'D'), ('C', 'E')])

another_graph.add_edges_from([('A', 'B'), ('A', 'E'), ('B', 'C'), ('C', 'D')])

По какой-то причине, если я вызываю «root(a_graph,another_graph)», я получаю «TypeError: объект 'list' не может быть вызван», но если я запускаю это без определения функции, как показано ниже работает:

Код: Выделить всё

    root_1 = [node for node, in_degree in a_graph.in_degree() if in_degree == 0]
root_2 = [node for node, in_degree in another_graph.in_degree() if in_degree == 0]
if root_1[0] == root_2[0]:
return 1
else:
return 0
Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ed-functio

Вернуться в «Python»