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

Python中如何比较两个列表并提取匹配项及后续元素

解决方案

方式一:获取元素列表

遍历列表a,逐个检查元素是否在b中,若匹配则将该元素及其下一个元素加入结果列表:

a = ['bww', '1', '23', 'honda', '2', '55', 'ford', '11', '88', 'tesla', '15', '1', 'kia', '2', '3']
b = ['ford', 'honda']

result = []
for i in range(len(a)):
    if a[i] in b:
        # 避免索引越界,确保当前元素不是列表最后一个
        if i + 1 < len(a):
            result.append(a[i])
            result.append(a[i+1])

print(result)  # 输出: ['ford', '11', 'honda', '2']

方式二:获取合并后的字符串列表

如果想要更紧凑的格式,直接将匹配元素和下一个元素拼接成字符串:

a = ['bww', '1', '23', 'honda', '2', '55', 'ford', '11', '88', 'tesla', '15', '1', 'kia', '2', '3']
b = ['ford', 'honda']

result = []
for i in range(len(a)):
    if a[i] in b:
        if i + 1 < len(a):
            result.append(f"{a[i]} {a[i+1]}")

print(result)  # 输出: ['ford 11', 'honda 2']

补充说明

  • 加入i + 1 < len(a)的判断是为了健壮性:如果列表a中匹配的元素恰好是最后一位,避免出现索引越界错误。
  • 若需要保持b中元素的顺序,可调整遍历逻辑为先遍历b,再去a中查找对应元素和下一位,当前代码输出已符合示例需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:15:35