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

Python嵌套列表校验:指定列组合对应Branch值需唯一的实现方案

实现分支一致性校验的解决方案

核心思路

我们可以用一个字典来记录每个唯一标识组合(project、repo、folder、target)对应的分支值。遍历列表时,对每个条目做以下检查:

  • 如果该标识组合已存在于字典中,就对比当前分支与字典中存储的分支是否一致,不一致则抛出异常
  • 如果不存在,就将该标识组合和对应的分支存入字典
  • 完全重复的条目(标识组合和分支都相同)会被自动跳过,无需额外处理

代码实现

links_list = [['project1','repo1', 'folder1', 'target1', 'link1', 'branch1'], 
             ['project1', 'repo1', 'folder1', 'target1', 'link1', 'branch1'], 
             ['project1', 'repo1', 'folder1', 'target1', 'link1', 'branch2'],
             ['project2', 'repo2', 'folder2', 'target2', 'link2', 'branch2']]

# 创建字典存储标识组合到分支的映射
branch_map = {}

for item in links_list:
    # 提取唯一标识(前四个元素)和分支(最后一个元素)
    key = tuple(item[:4])  # 用元组作为字典键,因为列表不可哈希
    current_branch = item[-1]
    
    if key in branch_map:
        # 检查分支是否一致
        if branch_map[key] != current_branch:
            raise ValueError(f"标识组合 {key} 对应不一致的分支:{branch_map[key]} 和 {current_branch}")
    else:
        # 首次出现,存入字典
        branch_map[key] = current_branch

# 如果校验通过,继续后续逻辑
print("所有分支校验通过")

代码说明

  • 用tuple(item[:4])把前四个元素转换成元组,因为列表不能作为字典的键(不可哈希),而元组可以
  • 当检测到同一标识组合对应不同分支时,会抛出ValueError并终止脚本,符合要求
  • 完全重复的条目不会触发任何异常,因为分支对比会通过

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:25:04