0

関数を定義しています

def update(dictionary,key,value):
    dictionary[key] = value
   #  if i do print dictionary... it still shows the original value?

メインコールの入力辞書を更新したい

だからこれは私が書いた主な機能です:

def update_mapping(mapping_dict,check_word,solution_word):
    #print "here "
    #new_mapping_dict = {}
    for i,ele in enumerate(check_word):
        if mapping_dict.has_key(ele):
            if mapping_dict[ele] == "*":
                mapping_dict[ele] = solution_word[i]

                print ele, solution_word
    print mapping_dict,check_word,solution_word

基本的に私はスペルミスのある単語を入力していますが、スペルミスのある単語にはいくつかのマッピングがあります。辞書でそのマッピングを行います。

 mapping_dict ={"a":"x"...."s":"*"...}

したがって、マッピングが見つかったすべての既知のアルファベットには、正当なキー値のアルファベットのペアがあります。正しいマッピングが見つからなかったアルファベットについては、「*」に置き換え、何らかのアルゴリズム(転置インデックス)で見つけています。 )。

そして、それらを見つけたら、辞書を更新したいですか?

4

1 に答える 1

1
>>> test = {"test": 1}
>>> def update(dictionary,key,value):
...     dictionary[key] = value
... 
>>> update(test, "test", 2)
>>> test
{'test': 2}

あなたの問題は他の場所にあるに違いありません-これはうまくいきます。

于 2012-04-14T18:27:47.337 に答える