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

Python中如何匹配列表指定序列并提取其后固定长度的元素

列表指定片段提取实现方案

实现逻辑

  • 先定义需要匹配的固定前缀序列['00', '13', 'A2', '00']
  • 遍历原始列表的所有有效起始位置,校验当前位置开始的连续元素是否和前缀完全匹配
  • 匹配成功后,从前缀结束位置的下一位开始,截取连续4个元素即为目标结果

可运行代码

# 原始输入列表
raw_list = ['7E', '00', '10', '97', '9A', '00', '13', 'A2', '00', '41', 'B6', '13', '58', 'FF', 'FE', '41', '50', '00', '01', '28']
# 固定匹配前缀
match_prefix = ['00', '13', 'A2', '00']
prefix_length = len(match_prefix)
target_result = None

# 遍历所有可能的前缀起始索引,保证后续有足够长度取4个结果元素
for start_idx in range(len(raw_list) - prefix_length - 3):
    if raw_list[start_idx:start_idx+prefix_length] == match_prefix:
        # 从前缀结束的下一位开始截取4个元素
        target_result = raw_list[start_idx+prefix_length : start_idx+prefix_length+4]
        # 若需匹配所有出现的前缀序列,可删除下一行break,用列表收集所有结果
        break

print(target_result)
# 运行输出:['41', 'B6', '13', '58']

# 如需得到空格分隔的字符串格式结果,可使用以下代码
# print(' '.join(target_result))
# 输出:41 B6 13 58

补充说明

如果业务场景中可能出现多段匹配的前缀序列,删除代码中的break,初始化空列表存储所有匹配到的结果即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:24:09