在python igraph中更改单个顶点属性

flo*_*onk 7 python list igraph

对于给定的图形,g我无法更改单个顶点属性(在本例中'color'):

from igraph import Graph

# create triangle graph
g = Graph.Full(3)

cl_blue = (0,0,.5)
cl_red = (.5,0,0)

g.vs['color'] = 3*[cl_blue]
g.vs['color'][0] = cl_red
Run Code Online (Sandbox Code Playgroud)

这样做后,print g.vs['color']仍然给出

[(0, 0, 0.5), (0, 0, 0.5), (0, 0, 0.5)]
Run Code Online (Sandbox Code Playgroud)

如何为单个项目分配值?

Cor*_*man 6

你只是向后做...做

g.vs[0]['color'] = cl_red
Run Code Online (Sandbox Code Playgroud)

对不起,应该更具描述性.

g.vs['color']返回所有节点属性的列表.这些不是实际属性 - 它是一个副本,因此修改它没有任何效果.

g.vs[0] 返回实际顶点0.然后,您可以使用字典界面修改其属性.