在python中输入错误!

时间:2010-07-16 08:16:31

标签: python

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:解包非序列

我该如何处理错误类型?

4 个答案:

答案 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会将每个元组正确“解包”为uv
  • 如果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

会做你想做的事。