将函数的输出分配给python中的空列表常量[重复]
Posted
技术标签:
【中文标题】将函数的输出分配给python中的空列表常量[重复]【英文标题】:Assign function's output to empty list constant in python [duplicate] 【发布时间】:2015-12-05 10:12:43 【问题描述】:我在我正在使用的代码中发现了类似的内容:
[], my_variable = my_function(a, b)
my_function 的输出如下:
return some_dict, some_list
这似乎可行 - 系统的单元测试不会失败,但是当我在 python 控制台上尝试这个(将字典分配给“[]”)时,它会引发:
ValueError: too many values to unpack
你见过这样的事情吗?将字典(或其他内容)分配给空列表常量“[]”如何工作?
或者它没有并且测试缺少一些东西......
【问题讨论】:
实际的my_function
代码会有所帮助 - 可能第一个结果根本不是字典:[], qwe = 1:1, '12'
引发值错误
[], a = (, 1)
有效。
[a], qwe = 1:2, '12'
也可以; a
变成了 1
***.com/questions/30147165/…***.com/questions/29870019/…
【参考方案1】:
这是因为在您的测试文件中,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
【讨论】:
要么你知道的多于所暴露的问题,要么这不能回答问题 @Kevin python 字典或列表,只要它是可迭代的。 是的,some_dict
很可能只是测试用例中的
。谢谢!【参考方案2】:
你不能真正赋值给list,因为它不是变量,你可以使用list语法来赋值给多个变量:
[a, b, c] = [1, 2, 3]
只会将 1 分配给 a 等等。
你正在做的事情可以用这个表达式来表达:
[] = "a":1
python 试图做的是将字典中的项目数量与列表中的项目数量相匹配。它发现不匹配并引发错误。你可以这样做:
[x] = "a":1
【讨论】:
以上是关于将函数的输出分配给python中的空列表常量[重复]的主要内容,如果未能解决你的问题,请参考以下文章