有人可以向我解释以下python代码行返回的内容吗?我是python的新手
V[i].meesageout=\
dict([(x, array([1,1]))\
for x in V[i].neighbors])
答案 0 :(得分:1)
该行不会返回任何内容。它为V[i].mesageout
分配了一个新词典。字典的密钥取自V[i].neighbors
,所有值均为array([1, 1])
(大概是numpy
个数组?)
此外,如果你是python的新手,请注意格式可怕的行。这有效:
V[i].messageout = dict((x, array([1, 1])) for x in V[i].neighbors)
或者如果你需要换行,只需换行。不要使用\,因为当有一个未闭合的括号,括号或括号时,python会自动继续行。:
V[i].messageout = dict((x, array([1, 1]))
for x in V[i].neighbors)
最后,在python2.7上,你可以使用字典理解:
V[i].messageout = {x: array([1, 1]) for x in V[i].neighbors}