Python:根据名称格式规则删除JSON列表中的字典
处理JSON列表的解决方案
核心逻辑
- 将每个字典的
name字段用-分割,取索引为0的部分 - 校验该部分是否符合4位字母+2位数字的格式
- 过滤列表,只保留符合规则的字典
Python代码实现
import re # 原始数据 data = [ {'name': 'Test01-Serial01'}, {'name': 'Tests04-Serial04'} ] # 定义校验规则 def check_valid(entry): name_segment = entry['name'].split('-')[0] # 正则匹配:4个大小写字母 + 2个数字 return re.fullmatch(r'[A-Za-z]{4}\d{2}', name_segment) is not None # 过滤得到有效数据 filtered_list = [item for item in data if check_valid(item)] print(filtered_list) # 输出结果: [{'name': 'Test01-Serial01'}]
关键细节解释
split('-')[0]:快速提取-分隔的第一部分内容,比如从Test01-Serial01中得到Test01re.fullmatch:确保整个字符串完全匹配规则,避免部分匹配的情况,像Tests04因字母长度为5,直接被过滤
内容的提问来源于stack exchange,提问作者Moses
相关产品推荐
相关产品推荐

