Python 如何调用循环中生成的变量
我需要在循环中生成许多变量。我通过使用以下代码实现了这一点:Python 如何调用循环中生成的变量,python,variables,dictionary,Python,Variables,Dictionary,我需要在循环中生成许多变量。我通过使用以下代码实现了这一点: 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':
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}
我该怎么做?不要生成局部变量。只需生成字典:
dict1 = {'imp_local'+str(k):700 for k,val in enumerate(nBottom)}
dict2 = {'imp_global'+str(k):600 for k,val in enumerate(nBottom)}
有关详细信息,请参阅不要生成局部变量。只需生成字典:
dict1 = {'imp_local'+str(k):700 for k,val in enumerate(nBottom)}
dict2 = {'imp_global'+str(k):600 for k,val in enumerate(nBottom)}
有关详细信息,请参阅。切勿使用局部变量添加变量。尤其是当你最终真的想把数据放在字典里的时候。只需从一开始就将其添加到字典:
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
完成了 永远不要使用局部变量添加变量。尤其是当你最终真的想把数据放在字典里的时候。只需从一开始就将其添加到字典:
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
完成了 将loc=locals()
更改为loc=dict()
。将loc=locals()
更改为loc=dict()
。