You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中基于列表推导式按条件将对应列表元素置零?

解决方案

直接修改列表推导式,增加对k=0的判断分支,即可实现需求:

frac = [0, .1, .5, .3, .7, 1.1]
ll = [0 if k == 0 else [i + 1 for i in range(5) if i <= k*4 < (i+1)] for k in frac]
print(ll)
# 输出结果: [0, [1], [3], [2], [3], [5]]

改动说明

原代码中,当k=0时,k*4=0会满足i=0的判断条件,生成子列表[1]。通过在最外层的列表推导式中添加0 if k == 0 else ...的条件判断,直接将frac中值为0的元素对应的ll元素设为0,其余元素保持原有的生成逻辑不变。

内容的提问来源于stack exchange,提问作者Expectation mean first moment

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 02:47:42