我有一个概念性问题。我有一些代码片段及其相应的输出ls = [1,2,3,4]a = '?'a, *ls = *ls, aa: 1 ls: [2, 3, 4, '?']ls = [1,2,3,4]a = '?'a, *ls = ls, aa: [1, 2, 3, 4] ls: ['?']ls = [1,2,3,4]a = '?'a, ls = *ls, aValueError: too many values to unpack (expected 2)第一个对我来说很有意义,但示例 2 和 3 让我感到困惑。为什么第二个和第三个示例的输出是这样的?
1 回答
跃然一笑
TA贡献1826条经验 获得超6个赞
示例 1 分配 5 个元素 ( *ls, a
)。第一个转到第一个变量,其余的转到带星号的变量 ( a, *ls
)。
示例 2 分配 2 个元素 ( ls, a
)。第一个元素转到第一个变量,其余元素(即另一个元素)转到带星号的变量 ( a, *ls
)。
示例 3 尝试将 5 个元素 ( *ls, a
) 分配给恰好两个变量。这将留下 3 个未分配的值,因此您会收到错误。
添加回答
举报
0/150
提交
取消