【发布时间】:2019-12-02 14:14:10
【问题描述】:
我正在尝试根据子字符串匹配替换列表中的项目
我有以下列表
x = ['D-cat', 'cat', 'C-Rabbit', 'Rabbit', 'R-rat', 'S-rat', 'L-cat']
如果有两个项目,例如D-cat和cat,我想用不带前缀的项目替换带前缀的项目。 即 D-cat 必须替换为 cat。同样,我想替换 所有前缀为xxx的xxx。
我厌倦了使用replace。
x = [animal.replace('D-cat','cat') for animal in x]
预期结果:
x = ['cat', 'cat', 'Rabbit', 'Rabbit', 'R-rat', 'S-rat', 'cat']
我不确定如何为所有项目实现这一点。
我想请教一些建议。
编辑: 测试用例
x =['C-Rab 6-bit', 'Rab 6-bit']
预期输出:
x=['Rab 6-bit', 'Rab 6-bit']
【问题讨论】:
-
这两个项目总是一个接一个吗?在
R-rat和S-rat的情况下,您要添加什么前缀?如果后面也只有rat怎么办? -
我现在看到你也有
L-cat但是忽略它,所以我猜它是连续的? -
并发布预期结果