1

ループ内で多数の変数を生成する必要があります。このコードを使用してこれを達成しました:

nBottom=list of initially unknown size
loc=locals()
for k,val in enumerate(nBottom) : loc["imp_local"+str(k)]=700
for k,val in enumerate(nBottom) : loc["imp_global"+str(k)]=600

次に、次のような辞書を作成して、それらを操作する必要があります。

dic1={'imp_local0': 700, ..., 'imp_localn': 700}
dic2={'imp_global0': 700, ..., 'imp_globaln': 700}

これどうやってするの?

4

2 に答える 2

4

ローカル変数を生成しないでください。辞書を生成するだけです:

dict1 = {'imp_local'+str(k):700 for k,val in enumerate(nBottom)}
dict2 = {'imp_global'+str(k):600 for k,val in enumerate(nBottom)}

詳細については、 dict 内包表記 (PEP 274)を参照してください。

于 2013-05-04T17:32:55.843 に答える
1

ローカルを使用して変数を追加しないでください。特に、実際にはそのデータを最終的に辞書に入れたいので。最初から辞書に追加するだけです:

nBottom=list of initially unknown size
dic1 = {}
dic2 = {}
for k,val in enumerate(nBottom) : dic1["imp_local"+str(k)]=700
for k,val in enumerate(nBottom) : dic2["imp_global"+str(k)]=600

終わり!

于 2013-05-04T17:35:40.377 に答える