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