2014-01-29 2 views
0

python list comprehension을하려고하는데 구문 오류가 발생합니다. 나는 python list comprehension에 익숙하지 않아서 왜 이것이 오류를 일으키는 지 이해할 수 없다.파이썬 목록 이해 함수 구문 오류

>>> s = set() 
>>> def in_set(s, val): 
     if val in s: 
      return True 
     else: 
      s.add(val) 
      return False 

>>> [x for x in v0.outV() if x.eid not in_set(s, x.eid)] 
    File "<input>", line 1 
    [x for x in v0.outV() if x.eid not in_set(s, x.eid)] 
              ^
SyntaxError: invalid syntax 

>>> print "This Works" 
This Works 
>>> in_set(s, v0.eid) 
False 

v0.outV()xobject이다하는 generator이며 x.eidstring이다.

+5

만약 당신이'in_set (s, x.eid)가 아닌'을 의미한다고 생각합니다. – BrenBarn

답변

3

코드 구조에 의해 판단, 난 당신이 원하는 생각 :

여기
[x for x in v0.outV() if not in_set(s, x.eid)] 

list comprehensions에 대한 참조입니다.

+0

나는 바보 야. 감사 – Derek