2010-07-16 5 views
0
closedset = set()  


root = (5,6) 

for u,v in root: 
    if v is not closedset: 
     closedset.add(root) 
     print closedset 

오류 :Python에서 유형 오류!

for u,v in root: 

TypeError: unpack non-sequence

내가 오류의 유형 어떻게해야합니까?

+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 제대로 if v is not closed에 의해 uv
  • 로 각 튜플을 "압축"됩니다 closed이 어떤 종류의
  • close.add 경우의 사전이 방법의 경우 아마, if f not in closed 의미 (집합?), 그 다음이되어야한다 ()하지 브래킷 ()
+0

사실이 문제는 다음과 같습니다 키 =의 child.keys() - 그래서이 돌아갑니다 - - 여기에 아이 루트 = 키 [0] 사전 (5 , 4) 이제 반복해야합니다 ... u, v 값에 대해 ... 나는 올바르게하고 있습니까? closed는 집합이며 내가 사용한 명령은 다음과 같습니다. closedset = set() – Shilpa

0
root = ((5, 6),) 

또는

u, v = root 
괄호로 호출

의도에 따라 다릅니다.

1
root = [(5,6)] 

... 작동해야합니다. 목록 또는 세트를 반복하고 처음 u, v를 반환합니다. 세트의 두 부분을 모두 반환하려면 목록 자체를 추가해야합니다.

0
for u,v in [root]: 
    print u,v 

원하는대로 할 수 있습니다.