python - 为什么我在构建字典时得到 ErrorValue

标签 python

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

在这里,我将元组中的键值对添加到键值对列表中,并将其作为新字典输出。 并引发 ValueError: dictionary update sequence element #0 has length 7; 2 是必需的

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

在这里,我将相同的键值对添加到字典中,而不是将其作为新字典输出。 它引发了 TypeError: dict expected at most 1 arguments, got 2

我不明白为什么......也不明白我该如何解决这个问题。

最佳答案

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

第一个参数需要是可迭代的对。由于您直接给出了一对,因此它会将其解释为一个可迭代对象,并将 "tickNum" 解释为一对,它有 7 个元素(字符),而不是 2 个。这样做:

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

或者更好的是:

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

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

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

相关文章:

python - 汉明窗,python 2.7

python - 如何在微调器中允许无限整数值?

python - 在 ubuntu 中安装 gensim 错误

python - 访问 sympy (python) 中的 mpmath 模块

python - 如果 Python 3 是最新的 python,为什么 python 2 仍然存在?

Python:在多种条件下查找数组的索引

python - 如何将 numpy 数组转换为内存中的 pil 图像?

python - 更改 Tkinter 滚动条小部件 Python 的外观

python - 我无法从 Python 连接到 FDB 数据库

Python Acme V2 - 重用订单/挑战