给出字符串abcdefghi
和距离3,我以这种方式将其分割:
st = 'abcdefghi'
substrings = []
for i in range(3):
substrings.append(st[::3])
st = st[1:]
哪个应该给我:
String 1: adg
String 2: beh
String 3: cfi
但是,相反,在我的方法下,最后一个字母(或更长的字符串)被忽略了。 String 3: cf
我该如何修复角壳?
编辑:此处的示例字符串太小,无法重现该错误。更长的字符串将重现该错误。
答案 0 :(得分:3)
切片时直接应用偏移量索引,以避免修改原始字符串:
substrings = [st[i::3] for i in range(3)]
# ['adg', 'beh', 'cfi']
也就是说,我无法使用您的循环方法通过修改后的字符串重现您的错误。