2017-12-20 20 views
0

辞書作成関数内で定義された値を呼び出そうとしています。 現在の問題は、定義されていないときに入力としてiを呼び出すことです。Python:関数内で定義された変数を入力として呼び出す

現在のコード:

mass_list=[10.0,15.0,20.0] 
def dict_by_masslist(mass_list,input_value): 
    dict_created=[] 
    for i in mass_list: 
     dict_created.append((i,inputvalue)) 
    dict_created=dict(dict_created) 
    return dict_created 

pt_dict_pre_names=dict_by_masslist(mass_list,'pt_'+str(int(i))+'_pre') 

目標出力:

pt_dict_pre_names = {10.0: 'pt_10_exp', 15.0: 'pt_15_exp', 20.0: 'pt_20_exp'} 

この関数は、物事に名前を付けますが、データの辞書を生成するだけでなく、使用されます。関数の外部で使用すると、このスクリプトは期待どおりに動作します。

答えて

4

だけではなく、dictionary comprehensionを使用します。ここで起こる

mass_list = [10.0, 15.0, 20.0] 
pt_dict_pre_names = {x: 'pt_{}_exp'.format(int(x)) for x in mass_list} 

何を:私たちは実際の数を含めることformattedある文字列pt_number_expに番号をマップmass_list内のすべての番号のために。

関連する問題