我想为NetworkX中的单个属性分配多个值,但是我发现的每个示例似乎都暗示单个属性只能有一个与之关联的值。
假设我有一个名为N1的节点,具有以下属性:
modifications_flags
total
attribute_flags,我想成为数字列表。
E.G
modification_flags: 1,2,7,5
我要执行此操作的原因是,根据如何从图形中删除边来设置Modifys_flags的值。
当移除先前将N1连接到N2的边缘时,会根据最初链接到两个节点的边缘所拥有的属性,将modification_flag值分配给每个节点。
一个节点可能具有多个边,如果删除每个边,则需要将修改值传递给该节点。
我目前正在尝试通过将Modify_flags为字符串数据类型,然后将数字修改标志值也转换为字符串,然后将其添加到Modify_flags字符串的末尾来进行尝试。
E.G
modification_flags = '1'
modification value to be added (mod_value) = 4
modification_flags = modification_flag + str(mod_value)
modification_flags = '14'
然后我像遍历列表一样遍历字符串。虽然这对我的用例有用,但是如果属性Modify_flags可以是值列表,那就更好了。
E.G
modification_flags = [1,4]
这可能吗?是不是可以有人将我指向文档/提供有关如何完成此操作的示例?
注意:我不是要从列表或字典中获取属性值,而是要在列表中 BE 一个属性
答案 0 :(得分:0)
是
import networkx as nx
G=nx.Graph()
G.add_node(1, attributelist = [])
G.add_node(2, attributelist = [ 'a', 'b', 6])
G.nodes(data=True)
> NodeDataView({1: {'attributelist': []}, 2: {'attributelist': ['a', 'b', 6]}})