次のコードについて質問があります
smaller={}
for( dest in a[neigbour].keys())
if(dest in smaller.keys() == False):
print 'false'
}
このコードを印刷できませんfalse..何か間違ったことをしていますか?ステートメントをチェックするために正しいことをしているのだろうかdest in smaller.keys() == False
次のコードについて質問があります
smaller={}
for( dest in a[neigbour].keys())
if(dest in smaller.keys() == False):
print 'false'
}
このコードを印刷できませんfalse..何か間違ったことをしていますか?ステートメントをチェックするために正しいことをしているのだろうかdest in smaller.keys() == False
の反対者dest in smaller.keys()はですdest not in smaller.keys()。またはと比較する必要はありませFalseんTrue:
if (dest not in smaller.keys()):
inおよびのドキュメントnot in: http: //docs.python.org/library/stdtypes.html#sequence-types-str-unicode-list-tuple-bytearray-buffer-xrange
Pythonの構文はかなり混乱しています。:1つは、ステートメントの後にアフターが必要であり、Pythonでループのfor周りに中括弧を使用することは一般的に慣用的ではありません。forまた、と比較する代わりにFalse、==通常は次を使用しますnot。
smaller = {}
for dest in a[neighbour].keys():
if dest not in smaller.keys():
print('false')
あなたが与えられた他の答えと同様に、コードは次のように書くことができます:
for key in a[neighbour].viewkeys() - smaller.viewkeys():
print key, 'not found'
の set like 動作を利用して、 not in 内.viewkeysのすべてのキーのセットを簡単に作成し、それをループします。a[neighbour]b