当您不知道序列长度时,在Python中进行多次拆箱分配
多个拆箱作业的教科书示例如下:
import numpy as NP
M = NP.arange(5)
a, b, c, d, e = M
# so of course, a = 0, b = 1, etc.
M = NP.arange(20).reshape(5, 4) # numpy 5x4 array
a, b, c, d, e = M
# here, a = M[0,:], b = M[1,:], etc. (ie, a single row of M is assigned each to a through e)
(我的问题不是numpy
特定的。的确,我更喜欢纯Python解决方案。)
对于我现在正在查看的代码段,在这种简单的场景中我看到了两个复杂的问题:
-
我通常不知道M的形状;和
-
我想解压一定数量的项目(肯定少于所有项目),我想把其余为 单一 容器
回到上面的5x4数组,我非常想做的是分别将M的前三行分别分配给a,b和c(与上面完全一样), 其余的行
(我不知道如何单个容器中会有很多,只有一些正整数)all_the_rest = []
。