2024-04-26 13:07:00 发布
网友
如标题所述
q, w = 1, 2 if 1 < 2 else 2, 1 ValueError: too many values to unpack
这是怎么回事??在
如果你检查
1, 2 if 1 < 2 else 2, 1
然后您会看到python将其解释为
您将得到(1, 2, 1),它包含了q, w两个变量的太多值
(1, 2, 1)
q, w
因为python接受条件后的第一个逗号(1 < 2)作为单行if-else语句的结尾,并将逗号部分之后的追加到结果值集。在
1 < 2
在最后一个值集中加一个括号就足够了
q, w = 1, 2 if 1 < 2 else (2, 1)
但两者都使用括号肯定更好
q, w = (1, 2) if 1 < 2 else (2, 1)
应该能解决你的问题。虽然我不会用那种方式写代码,因为这样更难阅读。在
如果你检查
然后您会看到python将其解释为
^{pr2}$您将得到
(1, 2, 1)
,它包含了q, w
两个变量的太多值因为python接受条件后的第一个逗号(
1 < 2
)作为单行if-else语句的结尾,并将逗号部分之后的追加到结果值集。在在最后一个值集中加一个括号就足够了
但两者都使用括号肯定更好
应该能解决你的问题。虽然我不会用那种方式写代码,因为这样更难阅读。在
相关问题 更多 >
编程相关推荐