将函数的输出分配给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中的空列表常量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

列表分配中的字典导致奇怪的输出[重复]

除了ngOnInit()之外的另一个函数中的空数组[重复]

将函数的输出分配给R中的两个变量

如何将“空”分配给列表位置(Python)[重复]

附加到python中的空列表时出错[重复]

将输出分配给Bash中的变量[重复]