所以显然我不能在 Python (2.7) 中做到这一点:
x = (1, 2,)
(a, b, c) = (*x, 3)
这在我的脑海中是有道理的,但是……我可以创建一个函数:
make_tuple = lambda *elements: tuple(elements)
那我可以
(c, a, b) = make_tuple(3, *x)
但不是,例如
(a, b, c) = make_tuple(*x, 3)
(a, b, c, d) = make_tuple(*x, *x)
y = [3, 4]
(a, b, c, d) = (*x, *y,)
所以我要问的是
- 有不允许这样做的理由吗?(第一件事)
- 最接近有效的东西是什么?
我目前对#2的猜测:
(a, b, c) = x + (3,)
(a, b, c, d) = x + x
(a, b, c, d) = x + tuple(y)