почему список networkx (g.edges) не возвращает int? - PullRequest
0 голосов
/ 05 марта 2020

pair = list(g.edges()) print(pair)

почему результатом второго узла не является int? результат

Я использовал firstnode = pair [a] [0], secondnode = int (pair a ) для преобразования числа второго узла из float в int. Но я все еще не понимаю, почему это поплавок?

1 Ответ

0 голосов
/ 06 марта 2020

Так что я не совсем уверен, как выглядит ваш код, но, поскольку у вас для всех ребер в вашем графике есть число с плавающей точкой в ​​качестве второго числа, и вы хотите напечатать его как целое число, я бы посоветовал вам сделать это :

Пример моего кода:

import networkx as nx

# Create dummy graph
g = nx.Graph()
g.add_edge(1,2.0)
g.add_edge(5,4.3)
g.add_edge(8,3.9)

# Get list of all edges
pair = list(g.edges())
print(pair)

# Iterate through all edges
for a in range(len(g.edges())):
  # Get first node of edge
  firstnode = pair[a][0]
  # Get second node of edge and type cast it to int
  secondnode = int(pair[a][1])
  # Print nodes / or execute something else here
  print(firstnode,secondnode)
  print()

И это вывод:

[(1, 2.0), (5, 4.3), (8, 3.9)]
1 2

5 4

8 3

Я надеюсь, что помогает!

...