我需要一个函数 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/