首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将函数的输出赋值给python中的空列表常量

将函数的输出赋值给python中的空列表常量
EN

Stack Overflow用户
提问于 2015-09-09 20:29:43
回答 2查看 132关注 0票数 5

我在我正在使用的代码中发现了类似这样的东西:

代码语言:javascript
运行
复制
[], my_variable = my_function(a, b)

其中,my_function的输出如下:

代码语言:javascript
运行
复制
return some_dict, some_list

这似乎是可行的--系统的单元测试不会失败,但是当我在python控制台上尝试这样做(将字典赋值给"[]")时,它会引发:

代码语言:javascript
运行
复制
ValueError: too many values to unpack

你见过这样的东西吗?如何将字典(或其他内容)赋给空列表常量"[]“?

或者不是,测试遗漏了一些东西。

EN

回答 2

Stack Overflow用户

发布于 2015-09-09 20:32:46

这是因为在您的测试文件中,return value{}

代码语言:javascript
运行
复制
>>> [] = {}
>>> [] = {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
票数 2
EN

Stack Overflow用户

发布于 2015-09-09 20:34:50

你不能真正赋值给list,因为它不是变量,你可以使用list语法来赋值给多个变量:

代码语言:javascript
运行
复制
[a, b, c] = [1, 2, 3]

将仅将1分配给a,依此类推。

你正在做的事情可以用这个表达式来表达:

代码语言:javascript
运行
复制
[] = {"a":1}

python尝试做的是将字典中的条目数量与列表中的条目数量进行匹配。它发现不匹配并引发错误。你可以这样做:

代码语言:javascript
运行
复制
[x] = {"a":1}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32479599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档