如何替换列表特定元素的某些部分?

2024-09-29 23:29:59 发布

您现在位置:Python中文网/ 问答频道 /正文

如何替换列表中某些项目的一部分(Python 3.x)假设我有一个列表:

x = ["part2keep removeMe", "saveme removeMe", "third length to throw it off removeMe", "element to save", "KeepThisPart"]

如果我只想删除“removeMe”部分,你会怎么做?到目前为止我有:

def replaceExampleA(x, y):
    for i in x:
        if i[len(i)-8:len(i)-1] == "removeMe":
            y.append(i[0: -12])
        else:
            y.append(i)

编辑:刚刚意识到我犯了一个错误-列表更像这样: x = ["part2keep removeMe 123", "saveme removeMe 12", "third length to throw it off removeMe 83", "element to save", "KeepThisPart"]

我也需要用“removeMe”从元素中去掉数字。谢谢


Tags: to列表lensaveitelementlengththrow
3条回答

您可以使用regex来确保代码总是在removeMe出现在字符串末尾时才被剥离:

import re
x = ["part2keep removeMe", "saveme removeMe", "third length to throw it off removeMe", "element to save", "KeepThisPart"]
new_x = [re.sub('\sremoveMe$', '', i) for i in x]

输出:

['part2keep', 'saveme', 'third length to throw it off', 'element to save', 'KeepThisPart']
x = [s.replace('removeMe', '') for s in x]

这可以通过列表理解来完成

x = ["part2keep removeMe", "saveme removeMe", "third length to throw it off removeMe"]

print(y.replace(' removeMe', '') for y in x)

相关问题 更多 >

    热门问题