[英]Python lambda wrong syntax?
我不知道如何使這項工作 :
default=lambda obj: return None if isinstance(obj, DataLoader)
default
變量是json.dumps()
的參數,因此,如果要序列化的dict包含一個DataLoader
對象,則代碼可以不引發TypeError
。
首先,在創建lambda
表達式時 ,您必須省略return
關鍵字。
三元運算符( 也稱為條件表達式 )的工作方式如下:
a if b else c
...會返回a
,如果b
為True
,將返回c
否則(如果b
是False
)。
您缺少else
部分。
最后,您的代碼應如下所示:
default = lambda obj: None if isinstance(obj, DataLoader) else obj
選擇當obj
不是DataLoader
的實例時要讓lambda函數返回的內容,這里我為您選擇了obj
,但這取決於您。
最后,我在=
周圍添加了一些空格,因為這是您應該這樣做的方式(如PEP8中所述)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.