我有一个相当简单的片段:def delete_substring_blocks(s, blocks):
'''
s: original input string
blocks: list of indices (start, end) to be deleted
return string `out` where blocks are deleted from s
'''
out = ''
p = 0
for start, end in blocks:
out += s[p:start]
p = end
out += s[p:]
return out
此函数接受一个字符串s,并删除s中的所有{},其中索引{}在列表blocks中给出。在
有没有一个内置函数可以做同样的事情?在
更新:
我的准则中有一个假设:块按第一个索引按升序排序(由list.sort()就地完成)
至于块是否可以重叠,在我的用例中,我确保它们在调用函数之前不会重叠。但为了好玩,我们也可以假设他们有。在