如何在字符串列表中移除指定前缀'202103'得到目标列表
字符串列表批量移除固定前缀实现
首先说明:你给出的目标列表存在笔误,第三个元素对应原始输入'20210303',移除前缀后应为'03'而非'02'。
方案1:固定长度切片(兼容所有Python版本)
需要移除的固定前缀'202103'长度为6位,直接对每个字符串做索引切片即可,配合列表推导式运行效率最高,无额外依赖:
original_list = ['20210301', '20210302', '20210303'] result_list = [item[6:] for item in original_list] # 输出结果:['01', '02', '03']
方案2:removeprefix 方法(Python 3.9+ 适用)
如果环境Python版本不低于3.9,可以直接调用字符串内置的前缀移除方法,不需要手动计算前缀长度,避免数错索引的低级错误,可读性更强:
original_list = ['20210301', '20210302', '20210303'] result_list = [item.removeprefix('202103') for item in original_list]
注意避坑
不要图省事用全局replace实现(即写item.replace('202103', '')):如果后续列表中出现字符串本体包含'202103'的异常值,replace会把所有匹配到的片段全部删掉,破坏原始数据。上述两种方案都只会移除字符串开头匹配的固定前缀,安全性更高。
内容的提问来源于stack exchange,提问作者S VL
相关产品推荐
相关产品推荐

