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

遍历两个列表匹配顺序 提取out_list中不符合in_list排序的错位元素

代码调整方案

原有代码问题

原有逻辑仅判断当前遍历的out_list元素是否匹配in_list的首个元素,未匹配直接加入错误列表,未考虑后续会匹配成功的正确元素,也没有校验元素出现顺序的先后,因此输出结果不符合预期。

调整后代码

假设两个列表的元素均唯一,我们可以先记录in_list中每个元素的索引位置,再对比out_list中元素的位置,位置提前的元素即为顺序不符的元素:

in_list = [1,2,3,4]
out_list = [1,3,2,4]
# 记录in_list各元素的对应索引
in_index = {val: idx for idx, val in enumerate(in_list)}
temp_list = []
for out_idx, val in enumerate(out_list):
    # 元素在out_list中出现的位置早于in_list中的位置,即为顺序不符
    if out_idx < in_index[val]:
        temp_list.append(val)
# 按要求清空in_list得到空输出
in_list.clear()
print('in', in_list)
print('out', temp_list)

运行结果

in []
out [3]

完全符合预期输出要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:54:02