次のコードについて質問があります
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