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

如何在Python中按序列位置比较并合并两个列表?

合并两个列表的实现方案

给定两个待合并的列表:

a = [0.1, 0.2, '-', '-', 0.3]
b = ['-', '-', 0.4, 0.5, '-']

需要按位置合并,得到目标列表:

c = [0.1, 0.2, 0.4, 0.5, 0.3]

核心思路

每个位置上优先取列表a中不为'-'的元素,若a对应位置是'-',则取列表b对应位置的元素。

实现方法

方法1:列表推导式(简洁高效)

利用Python的列表推导式,结合zip()函数配对对应位置元素,一行代码完成合并:

c = [x if x != '-' else y for x, y in zip(a, b)]

方法2:循环遍历(直观易懂)

如果需要更清晰的逻辑展示,可通过循环逐个判断并添加元素:

c = []
for x, y in zip(a, b):
    if x != '-':
        c.append(x)
    else:
        c.append(y)

两种方法运行后,都能得到目标列表c。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:05:24