如何提取列表元素第5-7位纯数字子串并筛选无效项?
问题解决:提取纯数字子串并分离无效项
需求说明
- 提取给定列表中元素第5到7位的纯数字子串
- 分离出列表中第5到7位不含数字的项
原始数据
HLJ3007A7S SKC4491U7K NAS1782P3K MK217TRG RRS38W23KS
当前问题
现有代码直接截取第5-7位(索引4到7),但未判断是否为纯数字,导致输出混入非数字内容:
当前代码
for d in optionList: validCodes.append(d[4:7])
当前输出
007 491 782 7TR 8W2
期望输出
仅保留纯数字的子串:
007 491 782
解决方案
修改代码,增加纯数字判断逻辑,同时完成两个需求:
validCodes = [] invalidItems = [] for d in optionList: substring = d[4:7] # 判断子串是否为纯数字 if substring.isdigit(): validCodes.append(substring) else: invalidItems.append(d) # 输出有效纯数字子串 for code in validCodes: print(code) # 如需查看无效项,可取消注释 # for item in invalidItems: # print(item)
逻辑说明
- 用字符串内置方法
isdigit()判断截取的子串是否为纯数字 - 符合条件的子串存入
validCodes,不符合的原项存入invalidItems,同时满足两个需求
内容的提问来源于stack exchange,提问作者Lemon pie
相关产品推荐
相关产品推荐

