来自networkx的g.nodes()不能与random.choice()一起使用

2023-11-30

我正在尝试在随机节点之间生成随机边,但是代码行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(使用前将#替换为@)

来自networkx的g.nodes()不能与random.choice()一起使用 的相关文章

随机推荐