我正在使用一个程序来合并一些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)
你能告诉我这里有什么问题吗?
答案 0 :(得分:0)
我怀疑get_edge()
需要两个位置参数,而你只传递一个元组。替换:
self.get_edge((av, bv))
使用:
self.get_edge(av, bv)