簡體   English   中英

python列表理解函數語法錯誤

[英]python list comprehension function syntax error

我正在嘗試執行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()是一個generatorx是一個objectx.eid是一個string

從您的代碼結構來看,我相信您需要這樣做:

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

這是列表理解的參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM