2017-06-28 12 views
1

としてなし値とキーの治療パイソン:このシナリオでは非existant

>>> x = {} 
>>> x.get('test') #Prints None 
>>> x.get('test','') #Prints empty string 
'' 

>>> x = {'test':None} 
>>> x.get('test') #Prints None 
>>> x.get('test','') #Prints None 

は、どのように私は非existantとしてなし大切なキーを処理することにより、両方のケースに印刷された空の文字列を得るのですか?

+3

x.get(キー、DEFAULT_VALUE)を行うだろう値がNone

def get_except_None(d, key): val = d.get(key, '') if val is None: return '' return val 

だからではなく、あなたのコードでx.get('test', '')であるかどうかを確認する機能でget呼び出しが返されますキーに関連付けられた値。キーが存在しない場合は、デフォルト値が返されます。あなたが望むなら、まずNoneを取り除くために辞書をフィルタリングしなければなりません。 –

+0

のようなもの? '' 'でなければx.get(' test ')else x.get(' test ') ' – nickanor

答えて

3

ラップ、あなたがget_except_None(x, test)

関連する問題