2017-10-20 16 views
-3

EDIT:OK私は最初のコードで二重等号を認識していませんでした。それに対処していただきありがとうございます。私はStackoverflowで新しくなったので、デバッグの質問をするのが「オフトピック」のルールになっているのか分からなかった。ごめんなさい。辞書のキー検索

私はPythonで何かについて悩んでいます。私は辞書 '結果'の '単語'のすべての文字を検索し、見つかった場合はその単語の値を0に変更して '結果'を返したいと考えました。

何らかの理由で動作しません。私はちょうど1つの文字を検索する場合はここではしません下記のコードされています

result = {'a': 1, 'q': 1, 'l': 2, 'm': 1, 'u': 1, 'i': 1} 
word = 'quail' 

for letter in word: 
    if letter in result.keys(): 
     result[letter] == 0 

return result 

ここでは動作するコードです:

result = {'a': 1, 'q': 1, 'l': 2, 'm': 1, 'u': 1, 'i': 1} 
letter = 'l' 
if letter in result.keys(): 
    result [letter] = 0 
return result 

すべてのヘルプは高く評価されます。ありがとう。

+2

'result [letter] == 0'あなたは冗談ですか?これは割り当てられていません。 –

+2

_「動作しません」_は問題の説明ではありません。 –

+1

動作するコードがある場合、なぜそれを使用していないのですか? –

答えて

0
result[letter] = 0 

問題が割り当てられています。変数を0と比較していますが、割り当てていません。 "=="を使用するときは、左のものが右のものと同じであるかどうかをプログラムに尋ねてきて、真または偽のブール値を返すことを期待しています。

0

最初のコードでは、double equalsを使用しています。

+0

答えはなぜそれが問題であり、代わりに何をすべきかを説明します。 –