如何给节点添加属性?

我一直在尝试向我正在创建的此节点添加名称等属性,但收到错误消息。 错误

  # add name as a property to each node

    # with networkX each node is a dictionary

    G.add_node(tweeter_id,'name' = tweeter_name)

    G.add_node(interact_id,'name' = interact_name)

这是我得到的错误。 错误信息

     File "<ipython-input-31-55b9aecd990d>", line 28

        G.add_node(tweeter_id,'name' = tweeter_name)

                              ^

    SyntaxError: expression cannot contain assignment, perhaps you meant "=="?


作为参考,这是整个代码:


import networkx as nx


# define an empty Directed Graph

# A directed graph is a graph where edges have a direction

# in our case the edges goes from user that sent the tweet to

# the user with whom they interacted (retweeted, mentioned or quoted)

#g = nx.Graph()

G = nx.DiGraph()


# loop over all the tweets and add edges if the tweet include some interactions

for tweet in tweet_list:

    # find all influencers in the tweet

    tweeter, interactions = getAllInteractions(tweet)

    tweeter_id, tweeter_name = tweeter

    tweet_id = getTweetID(tweet)

    

    # add an edge to the Graph for each influencer

    for interaction in interactions:

        interact_id, interact_name = interaction

        

        # add edges between the two user ids

        # this will create new nodes if the nodes are not already in the network

        # we also add an attribute the to edge equal to the id of the tweet

        G.add_edge(tweeter_id, interact_id, tweet_id=tweet_id)

        

        # add name as a property to each node

        # with networkX each node is a dictionary

        G.add_node(tweeter_id, tweeter_name)

        G.add_node(interact_id, interact_name)


郎朗坤
浏览 301回答 3
3回答

明月笑刀无情

正如您可以从文档中读到的使用关键字设置/更改节点属性:>>> G.add_node(1,size=10) >>> G.add_node(3,weight=0.4,UTM=('13S',382871,3972649))因此,请使用关键字参数name来定义属性。(注意:没有 Quotes,否则它将是 astr并且会导致SyntaxError您面临的,因为它是对字符串文字的赋值)做这样的事情:    # add name as a property to each node     # with networkX each node is a dictionary     G.add_node(tweeter_id, name = tweeter_name)     G.add_node(interact_id, name = interact_name)

呼唤远方

发生这种情况是因为add_node是一个函数。而且你不能给函数赋值。当你尝试时,你正在这样做:G.add_node(tweeter_id, 'name') = tweeter_name我相信你想做的是:G.add_node(tweeter_id, attr_dict={'name': tweeter_name})或作为提比布人。M指出,你还可以这样做:G.add_node(tweeter_id, name=tweeter_name)

繁华开满天机

而不是你的G.add_node(tweeter_id,'name')&nbsp;=&nbsp;tweeter_name G.add_node(interact_id,'name')&nbsp;=&nbsp;interact_name使用G.add_node(tweeter_id,&nbsp;tweeter_name) G.add_node(interact_id,&nbsp;interact_name)(假设您已将一些字符串分配给变量tweeter_name和interact_name)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python