如何通过使用循环

时间:2019-07-23 09:48:28

标签: python dictionary variables

我在词典类型中有一些动态项目。我想将其中一些分解成变量。我想通过循环了解一些方法。

我有“ 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'

可以实现吗?

1 个答案:

答案 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 []似乎是一种更简洁的存储值的方法