多元解包赋值的教科书例子通常是这样的:
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的形状;以及
- 我想要拆开一定数量的项目(肯定比所有项目都少),并且我希望将剩余的放入一个单一的容器中。
all_the_rest = []
的单一容器中。
{**d1, **d2}
来创建一个新的dict
字面量,相当于输入d1
中的键/值对,然后是d2
中的键/值对,或者使用['a', 'b', 'c', *range(10), 'd', 'e', 'f']
将0
-9
放在新的list
中间,并用字母括起来。 - ShadowRanger