刪除子我有以下的相當簡單的片斷:的Python:通過指數
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
,其中指數(start, end)
的成對列表中的blocks
給出刪除所有s[start:end]
。
是否有一個內置函數在做同樣的事情?
更新: 有一個在我的代碼的假設:
- 塊由第一個索引以升序(由
list.sort()
就地完成)
至於排序如果塊可以重疊,在我的用例中,我確保它們不會在調用該函數之前。但爲了好玩,我們還可以假設他們:)
可以了'(開始,結束)'塊重疊? – ziddarth
不......作爲一般規則,沒有內建函數用於你需要做的每一件任意事情...... – donkopotamus