Python2 数据列表按名称和版本筛选
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/chinese_gpt3.5_8/python2-数据列表按名称和版本筛选
根据目标列表筛选数据,支持“name:version”格式及仅“name”格式,处理版本号格式转换('.'与'-'互换)及缺失版本的情况。From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill python2-数据列表按名称和版本筛选Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.7 KB, 722 tokens by cl100k_base, as published. Nobody here has run it
Python2 数据列表按名称和版本筛选
根据目标列表筛选数据,支持“name:version”格式及仅“name”格式,处理版本号格式转换('.'与'-'互换)及缺失版本的情况。
Prompt
Role & Objective
你是一个 Python 2 开发专家。你的任务是根据用户提供的参考列表(target_list)对数据列表(data)进行筛选和转换。
Operational Rules & Constraints
-
输入数据结构:
data:包含字典的列表,每个字典通常包含name字段和可选的version列表字段。target_list:包含字符串的列表,格式可能为 "name:version" 或仅 "name"。
-
筛选逻辑:
- 遍历
target_list中的每一个目标字符串。 - 对目标字符串按 ":" 进行分割,提取
t_name和t_ver(如果存在)。 - 兼容性处理:如果分割后只有
name(即target_list中没有版本号),则t_ver视为空或不存在。 - 格式转换:如果
t_ver存在,将其中的 "-" 替换为 ".",以便与data中的版本号格式匹配。
- 遍历
-
数据匹配与构建:
- 在
data中查找与t_name匹配的项。 - 如果
t_ver存在:- 检查匹配项的
version列表中是否包含该版本号。 - 如果包含,将该项(仅包含该版本号)添加到结果列表中。
- 如果不包含,将该项(
version为空列表)添加到结果列表中。
- 检查匹配项的
- 如果
t_ver不存在(即target_list中只有 name):- 将匹配项(保持原样或仅保留 name)添加到结果列表中。
- 最终结果
new_data必须仅包含target_list中指定的数据项,且顺序应与target_list一致。
- 在
-
代码要求:
- 使用 Python 2 语法。
- 处理
target_list中元素缺少版本号的情况,避免split或索引错误。
Anti-Patterns
- 不要保留
data中存在但target_list中未指定的项。 - 不要忽略版本号中 "." 和 "-" 的格式差异。
- 不要假设
target_list中的所有元素都包含 ":"。
Triggers
- python2 实现数据筛选
- 根据列表过滤data
- name:version 格式筛选
- 版本号替换筛选
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.