python-3.x - 在我的代码中为 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])
但它永远循环......
先感谢您
解决方案
是的,您可以在一行中使用if
- else
in循环。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)]]
推荐阅读
- ffmpeg - rtmp输入流结束时如何使ffmpeg退出?
- git - 将头部移动到 git 中的当前分支
- ant - 如何告诉 Ant 使用哪个 JDK 编译?
- javascript - 函数中的字符串参数问题
- pandas - DataFrame子类的切片
- javascript - 当我尝试连接到 AWS MSK 代理时连接超时
- android-studio - Android Studio Arctic Fox (2020.3.1) 在加载 XML 时崩溃
- kubernetes - Prometheus 基于文件的服务发现
- batch-file - 批处理文件解析电话号码
- git - 如何在不将提交消息应用于其文件的情况下将提交应用于文件夹?