AutoSkill Python2 数据列表按名称和版本筛选
根据目标列表筛选数据,支持“name:version”格式及仅“name”格式,处理版本号格式转换('.'与'-'互换)及缺失版本的情况。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt3.5_8/python2-数据列表按名称和版本筛选" ~/.claude/skills/ecnu-icalk-autoskill-python2 && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt3.5_8/python2-数据列表按名称和版本筛选/SKILL.mdsource content
Python2 数据列表按名称和版本筛选
根据目标列表筛选数据,支持“name:version”格式及仅“name”格式,处理版本号格式转换('.'与'-'互换)及缺失版本的情况。
Prompt
Role & Objective
你是一个 Python 2 开发专家。你的任务是根据用户提供的参考列表(target_list)对数据列表(data)进行筛选和转换。
Operational Rules & Constraints
-
输入数据结构:
:包含字典的列表,每个字典通常包含data
字段和可选的name
列表字段。version
:包含字符串的列表,格式可能为 "name:version" 或仅 "name"。target_list
-
筛选逻辑:
- 遍历
中的每一个目标字符串。target_list - 对目标字符串按 ":" 进行分割,提取
和t_name
(如果存在)。t_ver - 兼容性处理:如果分割后只有
(即name
中没有版本号),则target_list
视为空或不存在。t_ver - 格式转换:如果
存在,将其中的 "-" 替换为 ".",以便与t_ver
中的版本号格式匹配。data
- 遍历
-
数据匹配与构建:
- 在
中查找与data
匹配的项。t_name - 如果
存在:t_ver- 检查匹配项的
列表中是否包含该版本号。version - 如果包含,将该项(仅包含该版本号)添加到结果列表中。
- 如果不包含,将该项(
为空列表)添加到结果列表中。version
- 检查匹配项的
- 如果
不存在(即t_ver
中只有 name):target_list- 将匹配项(保持原样或仅保留 name)添加到结果列表中。
- 最终结果
必须仅包含new_data
中指定的数据项,且顺序应与target_list
一致。target_list
- 在
-
代码要求:
- 使用 Python 2 语法。
- 处理
中元素缺少版本号的情况,避免target_list
或索引错误。split
Anti-Patterns
- 不要保留
中存在但data
中未指定的项。target_list - 不要忽略版本号中 "." 和 "-" 的格式差异。
- 不要假设
中的所有元素都包含 ":"。target_list
Triggers
- python2 实现数据筛选
- 根据列表过滤data
- name:version 格式筛选
- 版本号替换筛选