我想在創建python字典時動態添加/不添加字段。創建python字典時動態字段插入
def my_func(input):
return {
'foo':'bar',
None if input == None else 'baz':input
}
其實,這工作,但它返回{'foo': 'bar', None: None}
我想它返回{'foo': 'bar'}
。有沒有辦法做到這一點?
PS。我知道這個問題有點學術性。人們可以很容易做到:
def my_func(input):
ret = {
'foo':'bar',
}
if input != None:
ret['baz'] = input
return ret
但我喜歡第一個清潔。
[編輯]
,我們可以使用一個__metaclass__
來解決這個問題?
我看不出不把「巴茲」鍵進入你的字典當輸入爲無的優勢。這樣你就必須在後面的代碼中檢查_key是否存在。如果_value是None_,那麼這個檢查將是一個檢查。無論哪種方式,你必須先檢查... ... –
通常是的,但我把這本字典餵給外部庫。這吹到{'foo':'bar',None:None}和{'foo':'bar','baz':None}。 – RickyA