pkwargs = dict(("tickNum", tickNum), **kwargs)

在这里,我将元组中的键值对添加到键值对列表中,并将其输出为新的dict。
它提高了ValueError: dictionary update sequence element #0 has length 7; 2 is required
pkwargs = dict(("tickNum", tickNum), kwargs)

在这里,我将相同的键值对添加到dict,而不是将其输出为新的dict。
它提高了TypeError: dict expected at most 1 arguments, got 2
我不明白为什么。。。。也不知道我该怎么解决。

最佳答案


pkwargs = dict(("tickNum", tickNum), **kwargs)

第一个参数必须是成对的iterable。因为您直接给出了一对,所以它将其解释为一个iterable,"tickNum"为一对,它有7个元素(字符),而不是2个。执行以下操作:
pkwargs = dict([("tickNum", tickNum)], **kwargs)

或者更好:
pkwargs = dict(tickNum=tickNum, **kwargs)

这里tickNumkwargs的其余部分一起成为关键字参数之一。

关于python - 为什么在构建字典时得到ErrorValue,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37335337/

10-12 20:16