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

如何在Python中使用zip()按条件匹配两个列表?

用zip()结合列表推导式实现高效过滤

你可以用列表推导式搭配zip()来完成这个需求,比普通循环更简洁高效,代码如下:

a = ['a', 'b', 'c', 'd']
b = [0, 2, 1, 4]
c = [char for char, num in zip(a, b) if num != 0]
print(c)  # 输出: ['b', 'c', 'd']

原理说明

  • zip(a, b)会将两个列表对应位置的元素配对,生成类似('a', 0), ('b', 2), ('c', 1), ('d', 4)的可迭代对象。
  • 列表推导式遍历每一对元素,仅保留num != 0对应的char,直接生成目标列表c。

这种方式依托Python底层的C实现循环,比纯Python编写的普通for循环效率更高,完全满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 01:55:20