KeyError循环每个键的多个值
这个问题在这里已经有了答案:
T是关键,所以你应该for T in instruments迭代for T in instruments :
import math
instruments = {}
def add_instrument(par, T, coup, price, compounding_freq = 2):
instruments[T] = (par, coup, price, compounding_freq)
add_instrument(100, 0.25, 0., 97.5)
add_instrument(100, 0.5, 0., 94.9)
add_instrument(100, 1.0, 3., 90.)
add_instrument(100, 1.5, 8, 96., 2)
for T in instruments:
par, coupon, price, freq = instruments[T]
if coupon == 0:
print(T)
如果您for T in instruments.items()使用for T in instruments.items() , T将成为(key, value)的元组。 当你寻找instruments[T]时,字典中没有这样的键。
如果你坚持使用items()你也可以直接解压值元组:
for t, (par, coup, price, freq) in instruments.items():
if coup == 0:
print(t)
它输出:
0.25
0.5
链接地址: http://www.djcxy.com/p/30379.html
