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

如何使用Python的map、filter操作列表db和dc生成目标列表dd

问题排查与实现方案

原代码问题分析

  • 没有将db和dc的同位置元素做绑定处理:单独对dc做filter操作,最终得到的只有dc里的三个0值,完全丢失了和db对应位置元素的关联
  • 后续map操作实际是对三个0做平方运算,输出结果自然为[0,0,0],和预期不符

正确实现方案

方案1:使用map+filter实现(匹配你的使用需求)

核心逻辑是先用zip()函数将两个列表按位置配对,再做筛选和运算:

db = [3, 5, 7, 3, 2, 7, 9]
dc = [1, 0, 1, 0, 1, 0, 1]
dd = list(map(lambda x: x[0] ** 2, filter(lambda pair: pair[1] == 0, zip(db, dc))))
print(dd) # 输出 [25, 9, 49]

方案2:更简洁的列表推导式实现

如果没有强制要求使用map和filter,列表推导式可读性更高:

dd = [b ** 2 for b, c in zip(db, dc) if c == 0]

内容的提问来源于stack exchange,提问作者user16980147

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:15:04