我在我正在使用的代码中发现了类似这样的东西:
[], my_variable = my_function(a, b)其中,my_function的输出如下:
return some_dict, some_list这似乎是可行的--系统的单元测试不会失败,但是当我在python控制台上尝试这样做(将字典赋值给"[]")时,它会引发:
ValueError: too many values to unpack你见过这样的东西吗?如何将字典(或其他内容)赋给空列表常量"[]“?
或者不是,测试遗漏了一些东西。
发布于 2015-09-09 20:32:46
这是因为在您的测试文件中,return value是{}。
>>> [] = {}
>>> [] = {1:2}
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
>>> [] = []
>>> [] = [1,2]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack发布于 2015-09-09 20:34:50
你不能真正赋值给list,因为它不是变量,你可以使用list语法来赋值给多个变量:
[a, b, c] = [1, 2, 3]将仅将1分配给a,依此类推。
你正在做的事情可以用这个表达式来表达:
[] = {"a":1}python尝试做的是将字典中的条目数量与列表中的条目数量进行匹配。它发现不匹配并引发错误。你可以这样做:
[x] = {"a":1}https://stackoverflow.com/questions/32479599
复制相似问题