首页 > 解决方案 > 在我的代码中为 if 语句添加条件?

问题描述

有没有办法在 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])

但它永远循环......

先感谢您

标签: python-3.xif-statementfinance

解决方案


是的,您可以在一行中使用if- elsein循环。for

# 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)]]

推荐阅读