在我的代码中向 if 语句添加条件?
Add a condition to the if statement in my code?
有没有办法在mc_callAsia的公式末尾添加一个else 0??
for j in range (1,10):
for k in range (len(K)) :
mc_callAsia = np.asarray([(i-K[k]) for i in dictimoyennes["moyenneAsia" + str (j)] if (i-K[k])>0])
payoffAsia = (1/(1+r[k])**T)*sum(mc_callAsia)/10000
payoffsAsia = np.append(payoffsAsia, [payoffAsia])
目标是保留所有的值,所以要么是正数要么是 0。我试过这样做
for j in range (1 ,10):
for k in range (len(K)) :
for i in range (1, 10000):
payoffss= max(dictimoyennes["moyenneAsia" + str (j)][i] - K[k],0)
payoffssAsia = np.append(payoffssAsia, [payoffss])
但它会永远循环...
提前致谢
是的,您可以在 for
循环中使用 if
-else
一行。
# Simple structure
[ x if x%2 else x*100 for x in range(1, 10) ]
# It returns a list. So in you case it would be...
mc_callAsia = [np.asarray([(i-K[k]) if (i-K[k])>0]) else 0 for i in dictimoyennes["moyenneAsia" + str (j)]]
有没有办法在mc_callAsia的公式末尾添加一个else 0??
for j in range (1,10):
for k in range (len(K)) :
mc_callAsia = np.asarray([(i-K[k]) for i in dictimoyennes["moyenneAsia" + str (j)] if (i-K[k])>0])
payoffAsia = (1/(1+r[k])**T)*sum(mc_callAsia)/10000
payoffsAsia = np.append(payoffsAsia, [payoffAsia])
目标是保留所有的值,所以要么是正数要么是 0。我试过这样做
for j in range (1 ,10):
for k in range (len(K)) :
for i in range (1, 10000):
payoffss= max(dictimoyennes["moyenneAsia" + str (j)][i] - K[k],0)
payoffssAsia = np.append(payoffssAsia, [payoffss])
但它会永远循环...
提前致谢
是的,您可以在 for
循环中使用 if
-else
一行。
# Simple structure
[ x if x%2 else x*100 for x in range(1, 10) ]
# It returns a list. So in you case it would be...
mc_callAsia = [np.asarray([(i-K[k]) if (i-K[k])>0]) else 0 for i in dictimoyennes["moyenneAsia" + str (j)]]