【发布时间】:2019-03-28 10:28:50
【问题描述】:
我不明白下面的代码。当我执行它时,它给出了值错误太多的值来解包
train_data=[data, Label]
print train_data
for data, Label in train_data:
print data
print Label
output
[array([[23., 114., 49., ..., 61., 66., 75.,],
[134., 345., 123., ..., 252., 249., 255.],
....
[123., 97., 45., ..., 33., 234.,132.],
[76., 98., 54., ..., 243., 211.,187.]], dtypye=float32),
array([0,0,1,0,2,1,1,0,0,2,2,2,0,0,0,0,2,0,0,2,2,2,0,2,2,1,1,0])]
ValueError Traceback(most recent call last)
1. print train_data
--->2. for data,Label in train_data
ValueError: too many values to unpack
请帮我解决这个问题。
【问题讨论】:
-
从问题中我不确定您在问什么,但我相信您的问题是 for 循环中缺少
*。我假设 Label 是每一行的最后一个值?那么你的 for 循环应该是:for *data, Label in train_data: -
在 for 循环中应该是
data而不是*data。 -
这个错误意味着你试图在仅 2 个变量中解压缩太多变量。问题是您使用
train_data=[data, Label]的方式对我来说似乎很奇怪。这就像您正在尝试创建数据元组及其标签,但实际上将整个数据数组放在首位,然后将标签数组放在它旁边
标签: python numpy mxnet valueerror