python - 在Python中从元组值中提取特定数字

标签 python tuples

我有这个元组:

q =({'sum(total)': Decimal('89')},)

我需要从一个单独的变量中提取数字。我试过了

(x1,x2) = q

但这会引发错误:

E       ValueError: need more than 1 value to unpack

我不熟悉元组,也不知道如何提取它。

最佳答案

您的元组仅包含一个元素,即具有一个键值对的字典。如果您想提取该对,则需要解决它:

(x1, x2), = q[0].items()

上面的表达式从元组(字典)中提取第一个元素,并调用 dict.items()的方法。生成的序列 (key, value)然后将对分配给 (key, value),左侧目标,只能采用一个这样的对。

演示:

>>> q = ({'sum(total)': Decimal('89')},)
>>> (x1, x2), = q[0].items()
>>> x1
'sum(total)'
>>> x2
Decimal('89')

您还可以迭代元组中的所有键值对,或者可以使用键名称。例如,后者看起来像这样:

decimal_value = q[0]['sum(total)']

当然,您仍然可以在作业中使用解包:

contained_dictionary, = q
decimal_value = contained_dictionary['sum(total)']

这完全取决于您想要实现的目标,以及字典是否具有不同的键或应该只包含一个键值对。

关于python - 在Python中从元组值中提取特定数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35749173/

相关文章:

python - 属性错误 : 'module' object has no attribute 'Command'

Python Scrapy - 从多个网站 URL 中抓取数据

python - 如何在分组条形图中为条形着色

python - 从大型元组/行列表中有效地构建 Pandas DataFrame

arrays - 将 C 字符数组转换为字符串

javascript - 通用部分应用程序的 Varargs 函数参数不进行类型检查

python - 连接嵌套元组

python - 如何在同一图中绘制多个数据框 csv

python - 如何使用列的值将 2 个 numpy ndarray 合并到 ndarray 上?

.net - 当查看模型类型为超过 4 项的元组时,Asp.net mvc 2 .net 4.0 错误