我在词典类型中有一些动态项目。我想将其中一些分解成变量。我想通过循环了解一些方法。
我有“ self.params = {}”来存储基数和权重。可能是10或20 b和W,这取决于类中的参数。我想将其解压缩为“ W1”,“ W2” .....,“ b1”,“ b2” .....我在“ hidden_dims”中有层号
我想实现一些功能,例如遵循错误代码:
for i in range(hidden_dims):
W(i+1) = self.params['W%s'% str(i+1)]
b(i+1) = self.params['b%s'% str(i+1)]
然后我可以得到一些变量,例如:'W1','W2'...'Wn'(和n = hidden_dims)和'b1','b2'...'bn'
可以实现吗?
答案 0 :(得分:2)
您可以使用global()动态创建变量。像这样:
for i in range(1, hidden_dims + 1):
w = 'W' + str(i)
b = 'b' + str(i)
global()[w] = self.params[w]
global()[b] = self.params[b]
注意:建议不要尝试动态创建变量。对于您的用例,使用两个列表W []和b []似乎是一种更简洁的存储值的方法