You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除列表元素的固定路径前缀,提取得到仅含文件名的新列表?

实现方法

你可以根据你使用的Python版本选择对应方案,所有方案最终输出结果都符合你的需求:

方案1:Python 3.9及以上版本首选(str.removeprefix())

这个方法是Python 3.9新增的字符串原生方法,专门用于移除开头的固定前缀,只有字符串开头完全匹配前缀时才会执行移除操作,不会误替换其他位置的相同内容,安全性最高。

# 定义原始列表
original_list = [
    'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131121.csv',
    'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131150.csv',
    'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131160.csv',
    'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131169.csv',
    'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131189.csv'
]
# 定义要移除的固定前缀
fixed_prefix = 'Cordial/contactactivity/export/bounce/0-ContactActivity-'
# 列表推导式生成新列表
new_list = [item.removeprefix(fixed_prefix) for item in original_list]

方案2:兼容所有Python版本(切片法)

如果你的Python版本低于3.9,可以先计算固定前缀的长度,直接对每个字符串做切片处理,只要确认所有列表元素都以该前缀开头,该方法效率最高。

fixed_prefix = 'Cordial/contactactivity/export/bounce/0-ContactActivity-'
prefix_length = len(fixed_prefix)
new_list = [item[prefix_length:] for item in original_list]

输出结果

两种方案得到的new_list都为:

['bounce-20211109-131121.csv', 'bounce-20211109-131150.csv', 'bounce-20211109-131160.csv', 'bounce-20211109-131169.csv', 'bounce-20211109-131189.csv']

内容的提问来源于stack exchange,提问作者CRP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:45:09