我需要根据索引模板(掩码?)从字符串中删除特定字符,使用punch()
方法。
例如,我需要删除所有包含1
的字符。
str = abcdefg
mask = 0011001
// len(str) = len(mask) always
print(punch(str, mask)) //Ouput: cdg
基本上,我需要打印给定字符串的所有非空子序列:
Input: abcd
Output: a, b, c, d, ab, ac, ad, bc, bd, cd, abc, abd, acd, bcd, abcd
我尝试使用暴力方法实现这个,所以我将为输入字符串的长度生成所有模板,并使用
punch()
来"打出"那些子序列。PS:这可能是解决这个问题的不好的方式,但我认为
punch()
是一个很棒的方法。
mask
是一个字符串:"".join(ch for ch, msk in zip(string, mask) if msk == "1")
- jasonharper