TypeError: get_edge() 需要3个参数(给了2个)
我正在使用一个程序来合并一些DNA序列,但这个程序出现了一个错误:TypeError: get_edge() takes exactly 3 arguments (2 given)
。有没有办法解决这个问题?
这是我的代码:
def path(self, path, flip=False):
from vic.utils.iter import pairwise
oo = []
if len(path) == 1:
m = "Singleton {0}".format(path[0])
oo.append((path[0].v, True))
return m, oo
edges = []
for a, b in pairwise(path):
av, bv = a.v, b.v
e = self.get_edge((av, bv))
if not oo: # First edge imports two nodes
oo.append((e.v1.v, e.o1 == ">"))
last = oo[-1]
assert last == (e.v1.v, e.o1 == ">")
oo.append((e.v2.v, e.o2 == ">"))
if flip:
se = str(e)
e.flip()
else:
se = str(e)
edges.append(se)
return "|".join(edges), oo
还有错误信息:
File "/home/wyim/vic/vic/graph.py", line 205, in path
e = self.get_edge((av, bv))
TypeError: get_edge() takes exactly 3 arguments (2 given)
你能告诉我这里有什么问题吗?
1 个回答
0
我怀疑 get_edge()
这个函数需要两个位置参数,但你只传了一个,也就是一个元组。你需要把:
self.get_edge((av, bv))
替换成:
self.get_edge(av, bv)