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
。
我不明白为什么......我也不知道如何解决这个问题。
答案 0 :(得分:6)
在
pkwargs = dict(("tickNum", tickNum), **kwargs)
第一个参数需要是可迭代的对。由于你直接给了一对,它将它解释为一个可迭代的"tickNum"
作为一对,它有7个元素(字符),而不是2.执行此操作:
pkwargs = dict([("tickNum", tickNum)], **kwargs)
或者更好:
pkwargs = dict(tickNum=tickNum, **kwargs)
此处tickNum
与kwargs
的其余部分一起成为关键字参数之一。