繁体   English   中英

Python-太多值无法解压缩

[英]Python — too many values to unpack

我有这个代码

N, D = x.shape
running_mean = bn_param.get('running_mean', np.zeros(D, dtype=x.dtype))
running_var = bn_param.get('running_var', np.zeros(D, dtype=x.dtype))

并说:ValueError:太多值无法解包

我知道x的尺寸为50x3x32x32,我想将50放在N变量中,而我需要将3x32x32放在D变量中。 我该怎么办? 谢谢。

x.shape具有两个以上的值,与要解压缩的变量数不匹配(多次分配):

>>> shape = (50, 3, 32, 32)
>>> N, D = shape
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack

您可以使用索引,切片运算符来获取所需的内容:

>>> shape = (50, 3, 32, 32)
>>> N, D = shape[0], shape[1:]  # [0] to get 1st, [1:] to get 2nd, 3rd,.. up to end
>>> N
50
>>> D
(3, 32, 32)

如果您使用的是Python 3.x,则可以使用扩展的可迭代解包语法

>>> N, *D = shape
>>> N
50
>>> D
[3, 32, 32]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM