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 回答