首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python3.10中'G.depth = ()‘是什么意思?

在Python3.10中'G.depth = ()‘是什么意思?
EN

Stack Overflow用户
提问于 2022-08-25 09:56:07
回答 1查看 32关注 0票数 0

使用Python3.10库在绘图中使用WordNet和NetworkX

代码语言:javascript
复制
>>> import networkx as nx
>>> import matplotlib
>>> from nltk.corpus import wordnet as wn
>>> def traverse(graph, start, node):
...     graph.depth[node.name] = node.shortest_path_distance(start)
...     for child in node.hyponyms():
...             graph.add.edge(node.name, child.name)
...             traverse(graph, start, child)
...
>>> def hyponym_graph(start):
...     G = nx.Graph()
...     G.depth = ()
...     traverse(G, start, start)
...     return G

>>> import nltk
>>> nltk.download('omw-1.4')
[nltk_data] Downloading package omw-1.4 to
[nltk_data]     C:\Users\User\AppData\Roaming\nltk_data...
True

用WordNet文本语料库构建图形

代码语言:javascript
复制
>>> dog = wn.synset('dog.n.01')
>>> graph = hyponym_graph(dog)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 4, in hyponym_graph
  File "<stdin>", line 2, in traverse
TypeError: 'tuple' object does not support item assignment
>
EN

回答 1

Stack Overflow用户

发布于 2022-08-27 16:37:56

G.depth = ()正在图G上创建一个新属性(名为depth),并将其设置为等于(),这是一个空元组。

不过,下面是在traverse函数中使用该属性的方式:

代码语言:javascript
复制
graph.depth[node.name] = node.shortest_path_distance(start)

基于这一点和您得到的错误消息,TypeError: 'tuple' object does not support item assignment,我认为您可能希望将depth属性初始化为空dict,而不是空元组。

代码语言:javascript
复制
G.depth = {}

代码语言:javascript
复制
G.depth = dict()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73485518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档