我正在尝试在随机节点之间生成随机边,但是代码行ab=choice(G.nodes())
正在产生错误。
import networkx as nx
import matplotlib.pyplot as plt
from random import choice
G=nx.Graph()
city_set=['a','b','c','d','e','f','g','h']
for each in city_set:
G.add_node(each)
ab=choice(G.nodes())
print(ab)
Errors
C:\Users\DELL\Anaconda2\envs\untitled\python.exe
C:/Users/DELL/Documents/PythonPrograms/Beginning/ntwxproject.py
回溯(最近一次调用最后一次):
文件“C:/Users/DELL/Documents/PythonPrograms/Beginning/ntwxproject.py”,
第 10 行,在
ab=选择(G.nodes())
文件“C:\Users\DELL\Anaconda2\envs\untitled\lib\random.py”,第 259 行,选择
返回 seq[i] 文件“C:\Users\DELL\Anaconda2\envs\untitled\lib\site-packages\networkx\classes\reportviews.py”,
第 178 行,在getitem返回 self._nodes[n] KeyError: 1
进程已完成,退出代码为 1
我是Python新手,请帮助我。
您可以通过传递 list(G.nodes()) 而不仅仅是 G.nodes() 将 G.nodes() 转换为与 random.choice() 兼容的列表格式。
import networkx as nx
import matplotlib.pyplot as plt
from random import choice
G=nx.Graph()
city_set=['a','b','c','d','e','f','g','h']
for each in city_set:
G.add_node(each)
ab= choice(list(G.nodes()))
print(ab)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)