2017-12-01 20 views
0

しかし、私はまだ多くの試みをしても、関数から辞書を返すことに問題があります。例えば、関数の内部からはd1とd2を出力できますが、外部は出力できません。次のスクリプトを使用すると、次のようになります。NameError:name 'd1'が定義されていません。ご協力ありがとうございました!python return dictionary from function

ref = """text a""" 

target = """text b""" 

def text_to_dict(x): 
    # value formatting to list = new_values 
    # key formatting to list = keys 
    # dict creation from keys and new_values 
    if x == ref: 
     d1 = dict(zip(keys, new_values)) 
     return d1 
    elif x == target: 
     d2 = dict(zip(keys, new_values)) 
     return d2 

text_to_dict(ref) 

text_to_dict(target) 

print(d1) 

print(d2) 

答えて

1

d1とd2は関数変数であり、関数外では見えません。

dict1 = text_to_dict(ref) 

dict2 = text_to_dict(target) 

print(dict1) 

print(dict2)