17

辞書で値がないことを確認することは可能ですか

dict = {'a':'None','b':'12345','c':'None'}

私のコード

for k,v in d.items():
  if d[k] != None:
    print "good"
  else:
    print "Bad 

上記のコード スニペットを実行した後、3 つの良い結果が出力されます。

good
good
good

必須: 値が None の場合、辞書キー a および c に適切に出力されません。

4

4 に答える 4

33

none 値は、実際には辞書内の文字列です。

「None」を確認するか、実際の python None値を使用できます。

d = {'a':None,'b':'12345','c':None}

for k,v in d.items(): 
  if d[k] is None:
    print "good" 
  else: 
    print "Bad"

「良い」を2回印刷します

または、現在の辞書を使用する必要がある場合は、チェックを変更して探すだけです'None'

さらに、dict は Python 組み込み型であるため、変数に名前を付けないことをお勧めします。dict

于 2012-09-23T16:16:11.233 に答える
10

で辞書を定義します

d = {'a': None}

それよりも

d = {'a': 'None'}

後者の場合、 Python の型'None'ではなく単なる文字列です。また、恒等演算子を使用してNoneテストします。Noneis

for key, value in d.iteritems():
    if value is None:
        print "None found!" 
于 2012-09-23T16:20:24.230 に答える
0

「if value is None」を使用する代わりに、単に使用できます

if not value: print "None found!"

「値の場合」は、値にデータがある場合は true になり、データがない場合は false になります。したがって、if 条件で None キーワードを明示的に使用する必要はありません。

于 2020-02-12T13:53:17.717 に答える