JJ2*_*015 6 python math python-2.7
使用下面的代码,我能够得到正确的答案,但重复两次.
例如,我只想要一个结果[1.2038, 1.206],但下面的代码打印出来[1.2038, 1.206, 1.2038, 1.206].谁知道我的代码出了什么问题?任何帮助将不胜感激.谢谢!
spot = [1.2020, 1.2040]
forwardSwap = [0.0018, 0.0020]
forwardOutright = []
for i in range(len(spot)):
for i in range(len(forwardSwap)):
forwardOutright.append(spot[i] + forwardSwap[i])
print forwardOutright
Run Code Online (Sandbox Code Playgroud)
Mos*_*oye 21
您应该zip而不是嵌套循环来同时迭代两个列表:
forwardOutright = [x+y for x, y in zip(spot, forwardSwap)]
Run Code Online (Sandbox Code Playgroud)
你只需要循环一次:
spot = [1.2020, 1.2040]
forwardSwap = [0.0018, 0.0020]
forwardOutright = []
for i in range(len(spot)):
forwardOutright.append(forwardSwap[i]+spot[i])
Run Code Online (Sandbox Code Playgroud)
输出:
[1.2038, 1.206]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1691 次 |
| 最近记录: |