python - 将字典中一个键的值与同一字典中另一个键的值相乘
问题描述
计算股票 X 收益的平均值。以“平均回报:......”的格式显示输出。数字结果具有三位十进制数字。
我尝试通过尝试使用 for 循环迈出第一步,但遇到了一个障碍。请帮忙
"""Prediction of returns of Stock A and Stock B"""
pred = {'scens': ['very pessimistic',
'pessimistic',
'baseline',
'optimistic',
'very optimistic'], # Scenarios of economic conditions
'probs': [0.15, 0.2, 0.3, 0.25, 0.1], # Scenario probabilities
'stock X': [0.02, 0.07, 0.13, 0.15, 0.18], # Returns of stock X in each scneario
'stock Y': [0.06, 0.11, 0.14, 0.19, 0.21]} # Returns of stock Y in each scenario
解决方案
这样的东西适合你吗?
"""Prediction of returns of Stock A and Stock B"""
pred = {'scens': ['very pessimistic',
'pessimistic',
'baseline',
'optimistic',
'very optimistic'], # Scenarios of economic conditions
'probs': [0.15, 0.2, 0.3, 0.25, 0.1], # Scenario probabilities
'stock X': [0.02, 0.07, 0.13, 0.15, 0.18], # Returns of stock X in each scneario
'stock Y': [0.06, 0.11, 0.14, 0.19, 0.21]} # Returns of stock Y in each scenario
mean_return = 0
for index, returns in enumerate(pred['stock X']):
mean_return += returns * pred['probs'][index]
print(round(mean_return, 2))
结果是0.1115
四舍五入到0.11
它应该很容易解释。我使用 enumerate 来同时拥有内容和索引,因此如果您还想在循环中访问字典列表的其他元素,您可以轻松地做到这一点。
推荐阅读
- python - 为什么使用按钮运行脚本时会打开引号>提示
- html - 可滚动组件内的工具提示
- java - 如何将 hashmap 从 spring-boot 后端传递到 UI?
- javascript - HTML-JavaScript-Nested_Loop
- blockchain - 在哪里可以找到远程 EOS API
- ssis - 什么是“约束或表达式”与“约束和表达式”、“与”与“或”?
- go - 如何将地图 [] 保存为与 GORM 的关系?
- python - 如何用矩阵位置标记图像上的数字?(按数字涂色)
- php - 如何按ID显示mysql数据库中的数据
- python - 如何在 Python 中绘制函数图?