python - 从字符串中删除字符

标签 python string

我需要一个函数 remove() 来从字符串中删除字符。

这是我的第一个方法:

def remove(self, string, index):
    return string[0:index] + string[index + 1:]

def remove_indexes(self, string, indexes):
    for index in indexes:
        string = self.remove(string, index)
    return string

我在数组中传递要删除的索引,但是一旦我删除了一个字符,整个索引就会改变。

是否有更多 pythonic whay 来执行此操作。像这样实现它会更容易:

"hello".remove([1, 2])

最佳答案

我不知道“pythonic”方式,但您可以实现。如果您可以确保在 remove_indexes 中索引始终排序,那么您可以这样做

def remove_indexes(self, string, indexes):
    for index in indexes.reverse():
        string = self.remove(string, index)
    return string

如果你不能确保那就去做

def remove_indexes(self, string, indexes):
    for index in indexes.sort(reverse=True):
        string = self.remove(string, index)
    return string

关于python - 从字符串中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57989956/

相关文章:

Python Traits UI (Enthought)

python - docker-compose启动错误无法导入名称_thread

python - 如何使用 Telethon 从 Telegram 消息中获取图像字节

c++ - C/C++ 字符串转移到特定元素 - 最少的步骤

c# - 将字符串转换为序号大写或小写

c++ - 将字符串转换为 TDateTime 变量

Swift 枚举 : Getting enum value for string enum from int value

python - re.findall 表现得很奇怪

python - 计算连续时间段的天数(Python,日期时间)

string - 如何标记两个字符串之间的差异