Python中如何仅对列表的非零元素执行1减该元素的运算
解决仅对列表非零元素执行1减运算的问题
你需要在列表推导中加入条件判断,仅对非零元素执行1 - i计算,零元素直接保留原值。
修正后的代码如下:
n12=[0, 0.097055623870192, 0, 0.09668483656158318, 0.09983696710324882, 0.09905078620023211, 0.09857192019636203] n22=[1 - i if i != 0 else 0 for i in n12] print(n22)
运行输出:
[0, 0.902944376129808, 0, 0.9033151634384168, 0.9001630328967511, 0.9009492137997679, 0.9014280798036379]
该结果完全匹配你的期望:零元素保持为0,所有非零元素正确完成1 - 元素值的运算。
内容的提问来源于stack exchange,提问作者isaacmodi123
相关产品推荐
相关产品推荐

