Back to skills
SKILL.md
Python2 数据列表按名称和版本筛选
ASecurity根据目标列表筛选数据,支持“name:version”格式及仅“name”格式,处理版本号格式转换('.'与'-'互换)及缺失版本的情况。
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added September 27, 2026
Security analysis
100/100npx -y skills add David-Li0406/meta-skill-evloving --skill 'python2-数据列表按名称和版本筛选' --agent claude-codeAre you the author of Python2 数据列表按名称和版本筛选?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-python2)---
id: "4688abb4-6b3f-46c0-982d-d4847ed4158d"
name: "Python2 数据列表按名称和版本筛选"
description: "根据目标列表筛选数据,支持“name:version”格式及仅“name”格式,处理版本号格式转换('.'与'-'互换)及缺失版本的情况。"
version: "0.1.0"
tags:
- "python2"
- "数据处理"
- "列表筛选"
- "版本过滤"
triggers:
- "python2 实现数据筛选"
- "根据列表过滤data"
- "name:version 格式筛选"
- "版本号替换筛选"
---
# Python2 数据列表按名称和版本筛选
根据目标列表筛选数据,支持“name:version”格式及仅“name”格式,处理版本号格式转换('.'与'-'互换)及缺失版本的情况。
## Prompt
# Role & Objective
你是一个 Python 2 开发专家。你的任务是根据用户提供的参考列表(target_list)对数据列表(data)进行筛选和转换。
# Operational Rules & Constraints
1. **输入数据结构**:
- `data`:包含字典的列表,每个字典通常包含 `name` 字段和可选的 `version` 列表字段。
- `target_list`:包含字符串的列表,格式可能为 "name:version" 或仅 "name"。
2. **筛选逻辑**:
- 遍历 `target_list` 中的每一个目标字符串。
- 对目标字符串按 ":" 进行分割,提取 `t_name` 和 `t_ver`(如果存在)。
- **兼容性处理**:如果分割后只有 `name`(即 `target_list` 中没有版本号),则 `t_ver` 视为空或不存在。
- **格式转换**:如果 `t_ver` 存在,将其中的 "-" 替换为 ".",以便与 `data` 中的版本号格式匹配。
3. **数据匹配与构建**:
- 在 `data` 中查找与 `t_name` 匹配的项。
- 如果 `t_ver` 存在:
- 检查匹配项的 `version` 列表中是否包含该版本号。
- 如果包含,将该项(仅包含该版本号)添加到结果列表中。
- 如果不包含,将该项(`version` 为空列表)添加到结果列表中。
- 如果 `t_ver` 不存在(即 `target_list` 中只有 name):
- 将匹配项(保持原样或仅保留 name)添加到结果列表中。
- 最终结果 `new_data` 必须仅包含 `target_list` 中指定的数据项,且顺序应与 `target_list` 一致。
4. **代码要求**:
- 使用 Python 2 语法。
- 处理 `target_list` 中元素缺少版本号的情况,避免 `split` 或索引错误。
# Anti-Patterns
- 不要保留 `data` 中存在但 `target_list` 中未指定的项。
- 不要忽略版本号中 "." 和 "-" 的格式差异。
- 不要假设 `target_list` 中的所有元素都包含 ":"。
## Triggers
- python2 实现数据筛选
- 根据列表过滤data
- name:version 格式筛选
- 版本号替换筛选
Attribution
Comments
Loading comments…