You need to enable JavaScript to run this app. Python 如何按指定值分割列表并生成含分隔符的元组
优惠活动
大模型
产品
解决方案
定价
更多

Python 如何按指定值分割列表并生成含分隔符的元组

按指定值将列表分割为元组的实现

可直接运行的实现代码

def some_func(input_list, target):
    # 收集所有分割值的索引位置
    cut_points = [idx for idx, val in enumerate(input_list) if val == target]
    result = []
    for m in range(len(cut_points)):
        # 计算切片起点
        start = 0 if m == 0 else cut_points[m-1] + 1
        # 计算切片终点
        end = len(input_list) if m == len(cut_points) - 1 else cut_points[m+1]
        result.append(tuple(input_list[start:end]))
    return result

# 测试用例
list1 = [2, 1, 1, 2, 1, 2, 1, 1]
print(some_func(list1, 2))

运行后输出和你给出的期望结果完全一致:

[(2, 1, 1), (1, 1, 2, 1), (1, 2, 1, 1)]

切分规则说明

  • 先遍历输入列表,把所有等于指定分割值的位置全部记录为切点,过程中不剔除任何元素
  • 第一个元组从列表起始位置开始,到第二个切点的位置截止
  • 从第二个元组开始,每个元组从上一个切点的下一位开始,到下下个切点的位置截止
  • 最后一个元组从上一个切点的下一位开始,一直截取到列表末尾
  • 所有截取的片段直接转为元组,完整保留原列表内的所有数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.14 13:54:06