这里是一个简单的问题。我似乎无法解决它。
基本上,我有一个字典,其中包含存储股票数据的多个元组。
例如
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/