n, m = map(int, [1, 2])will得到了n == 1,m == 2
但是:
n, m, r = map(int, [1, 2]), defaultdict(list)将提高:
ValueError: not enough values to unpack (expected 3, got 2)这次,n是<map object at ...>,m是defaultdict
我很困惑。
发布于 2016-12-02 00:41:24
这里要解压的结构是一个包含两个元素的元组,一个嵌套的元组最终包含作为映射结果的1和2以及缺省值。
((1, 2), defaultdict(list))如果您需要正确地解压它,请在赋值的目标位置使用括号来指定生成的结构:
(n, m), r = map(int, [1, 2]), defaultdict(list)其中n、m和r具有其正确的值。
如果您使用:
n, m = map(int, [1, 2]), defaultdict(list)map结果(迭代器)永远不会被解包,只是被赋值为n的值。
https://stackoverflow.com/questions/40915895
复制相似问题