你好Python專家,在Python中爲變量分配「A或B」的最短途徑?
我想知道如果「A」爲真(即存在)和如果不是「A」爲變量賦值爲「A」
假設我有:
mydict = {'a': 'apple', 'b': 'banana', 'c': 'Cherry'}
然後,按照我的理解,分配一個值的最短(當然,一個線)的方式,不存在如本mydict VAR的關鍵是:
myvar = mydict['m'] if 'm' in mydict else 'Melon'
但是有沒有更簡單的方法呢?
在Ruby中,我會是這樣的:
myvar = mydict[:m] || 'Melon'
只是想知道。提前致謝!
在Ruby'mydict [:米]'想必返回Python的'None'的等價物。那麼你如何在Python字典中存儲'None'? –
Ruby版本似乎不會做同樣的事情。字典查找結果爲「真」(即,滿足if-test)與字典中存在的值不同。如果值存在但是「false」('None','False',一個空列表等等是Python中的false-ish值;可能Ruby是相似的),則查找將是「假」。 –
@Karl Knechter:Ruby中只有'false'和'nil'是錯誤的。空數組或字符串,零 - 全部在if語句中返回true。 (Python的'None'就像Ruby的'nil'。) – steenslag