python - 元组解包 - ValueError

标签 python python-3.x dictionary tuples

这里是一个简单的问题。我似乎无法解决它。

基本上,我有一个字典,其中包含存储股票数据的多个元组。

例如

portfolio = [('25-Jan-2001', 43.5, 25, 'CAT', 92.45),
('25-Jan-2001', 42.8, 50, 'DD', 51.19),
('25-Jan-2001', 42.1, 75, 'EK', 34.87),
('25-Jan-2001', 37.58, 100, 'GM', 37.58)]

我正在尝试拆包并将购买价格乘以股票数量。最终将它们加在一起。

def total_purchase_price(portfolio):
    purdate, purprice, numshares, sym, curprice = portfolio
    totalprice = 0
    for i in portfolio: 
        totalprice = purprice[i] * numshares[i]
        print(totalprice)
    return

但是,我收到一个 ValueError:需要超过 4 个值才能解包。

这是因为字符串不是整数吗?

如有任何帮助,我们将不胜感激。谢谢

最佳答案

portfolio 是一个包含 4 个元组的列表。这行代码:

purdate, purprice, numshares, sym, curprice = portfolio

试图将该列表解压缩为 5 个变量,但失败了,因为其中只有四个项目。我怀疑您想要编写类似以下模式的代码:

# iterate through the items in the portfolio
for item in portfolio:
    # for each item, unpack the tuple into its constituent parts
    purdate, purprice, numshares, sym, curprice = item
    # ...do some calculations on those values

关于python - 元组解包 - ValueError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35851307/

相关文章:

python - 从元组列表中为每个项目创建 np.arrays 的最快方法

python - 尝试使用 pygame 在 python 上播放声波

Windows 中的 Python 多处理池奇怪行为

Swift 字典默默地不存储新项目

python - 如何删除未知深度的深层嵌套字典中的空字段或无字段?

python - 将列表分成对角线?

python - 如何补全数据框中缺失的数据

python - 无法在终端 "bash:/etc/odbcinst.ini: Permission denied"中回显

python - 使用 pickle 将巨大的二元字典保存到文件中

python - 错误: 'NoneType' object has no attribute 'call'