2011-12-18 11 views
-8

別の関数の辞書がある場合、新しい関数内で辞書をどのように渡すことができますか? 例別の関数の辞書が必要です

別の関数から、私はこのようなタプルを('falseName', 'realName', positionOfMistake)としています。 ('Milter', 'Miller', 4)。今私はfalseNameのリストを取る関数を記述して返す必要が

D={realName:{falseName:[positionOfMistake], falseName:[positionOfMistake]...}, 
    realName:{falseName:[positionOfMistake]...}...} 

def addNameToDictionary(d, tup): 
    if not d.has_key(tup[0]): 
     d[tup[0]] = {} 
    d[tup[0]][tup[1]] = [tup[2]] 

:私はこのような辞書を行う機能を持っている

realName: 
    falseName 
    falseName 
realName:... 

私の問題から辞書を呼び出す方法です関数addNameToDictionaryを新しい関数に追加しますか?

私は次のことを試してみました:

def Names(nameList): 
    D=addNameToDictionary(d, tup) 
    print D 

をしかし、私は得る:

NameError: global name 'd' is not defined 

誰ですか?

+2

* addNameToDictionary *のように、新しい関数にディクテーションを渡してみませんか? – XORcist

+0

どういう意味ですか? –

+0

"辞書を呼び出す"とはどういう意味ですか?また、新しい関数の引数として 'dict'を渡すのはなぜですか? – moooeeeep

答えて

0
def your_new_function(d, falseNames): 
    # ... get data from d 
    return {realname:(falseName1, falseName2)} 
+0

ですが、関数はfalseNamesとdictではなくfalseNameのリストを取る必要があります。 –

+0

さて、* D *はあなたのコードのグローバル変数ですか?あなたは新しい機能の中でそれにアクセスすることができます。 – XORcist

+0

うーん..私はまだそれを行う方法がわからない? –

関連する問題