closedset = set()
root = (5,6)
for u,v in root:
if v is not closedset:
closedset.add(root)
print closedset
错误:
for u,v in root:
TypeError:解包非序列
我该如何处理错误类型?
答案 0 :(得分:1)
root = [(5,6)]
......应该有效。 迭代列表或集合,先返回u,然后返回v。如果要返回集合的两个部分,则必须将自己添加到列表中。
答案 1 :(得分:0)
我不确定我明白你要做什么。也许:
roots = [(5, 6), (2, 3)]
for u, v in roots:
if f not in closed:
closed.add(v)
print closed
请注意一些变化:
roots
现在是元组列表。 for u, v in roots
会将每个元组正确“解包”为u
和v
if v is not closed
是某种类型的词典,if f not in closed
可能意味着closed
close.add
是一个方法(一组?),则必须使用parens ()
调用而不是括号()
答案 2 :(得分:0)
root = ((5, 6),)
或
u, v = root
取决于您的意图。
答案 3 :(得分:0)
for u,v in [root]:
print u,v
会做你想做的事。