我使用networkx创建了一个图形,每个节点都有一些属性。所以我想搜索所有节点的特定属性,并将具有此属性的每个节点保存在列表中。我编写了以下代码,但出现错误:
使用此代码时,我遇到了以下错误:
但是我遇到了同样的错误。如何遍历属性?更新:我使用以下代码添加节点属性。我从文件中读取属性,然后将逗号和换行符拆分,最后将列表保存在节点中。
for node in G.nodes():
for attribute in G.node[node]['attributes']:
if attribute in question:
setOfUsers.append(node)
使用此代码时,我遇到了以下错误:
for attribute in G.node[node]['attributes']:
KeyError: 'attributes'
我在论坛上搜索并尝试了一些不同的方法来解决这个问题:
for node, data in G.nodes(data=True):
if data['attributes'] == question[0]:
setOfUsers.append(node)
但是我遇到了同样的错误。如何遍历属性?更新:我使用以下代码添加节点属性。我从文件中读取属性,然后将逗号和换行符拆分,最后将列表保存在节点中。
for line in file2:
line = line.strip()
words = line.split('\t')
node = int(words[0])
attributes= words[1]
splittedAttributes = attributes.split(',')
if node in G.nodes():
G.node[node]['attributes'] = splittedAttributes
skills
属性添加到图形中。 - Tainode in G.nodes()
永远不为真,在行if node in G.nodes(): G.node[node]['attributes'] = splittedAttributes
中,那么没有任何一个节点会被分配一个“属性”属性。 - unutbuG.nodes(data=True)
吗? - Tai