切片字符串在末尾省略了字母

时间:2019-02-13 17:16:29

标签: python python-3.x

给出字符串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

我该如何修复角壳?

编辑:此处的示例字符串太小,无法重现该错误。更长的字符串将重现该错误。

1 个答案:

答案 0 :(得分:3)

切片时直接应用偏移量索引,以避免修改原始字符串:

substrings = [st[i::3] for i in range(3)]

# ['adg', 'beh', 'cfi']

也就是说,我无法使用您的循环方法通过修改后的字符串重现您的错误。