我正在使用python,並且在我的代碼中使用了dict
。如果密鑰在字典中有僞造值,則獲取默認值
我有我總是需要default
值的情況下,如果給key
不存在或如果key
存在,它有falsy
價值。
例如
x = {'a': 'test', 'b': False, 'c': None, 'd': ''}
print x.get('a', [])
test
print x.get('b', []) # Need [] as False is falsy value in python
False
print x.get('e', []) # This will work fine, because `e` is not valid key
None
print x.get('c', [])
None
print x.get('c', []) or [] # This gives output which I want
相反檢查Falsy
價值的or
操作,是否有任何Python的方式讓我的默認值?
它是Python的;另一種方法是,如果你想讓它自動發生,就是繼承dict並實現__getitem__。 – Fhaab
我會注意到用'x.get('c',[])或[]',第一個'[]'是不需要的。由於它是假的,你永遠不會返回它,而是在'或'後面使用第二個'[]'。所以只需使用'x.get('c')或[]'。 – Blckknght
謝謝@Blckknght,但是我的例子也需要'notexistkey'在這種情況下'c'可用,但如果其他鍵不可用,那麼'.get('notexistkey',[])'將返回值。 – Nilesh