Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 切片字符串会忽略结尾处的字母_Python_Python 3.x - Fatal编程技术网

Python 切片字符串会忽略结尾处的字母

Python 切片字符串会忽略结尾处的字母,python,python-3.x,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 但是,在我的方法中,最后一个字母表(如果字符串较长,则为更多)被省略,即string3:cf 我该如何修理角落的箱子 编辑:此

给定一个字符串
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
但是,在我的方法中,最后一个字母表(如果字符串较长,则为更多)被省略,即
string3:cf

我该如何修理角落的箱子


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

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

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

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

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

呃,输入字符串中没有“I”,那么您为什么希望将“cfi”作为输出?哎呀,这是一个错误。好吧,现在这是一个不可重复的过程。该代码的结果是
['adg','beh','cfi']
。我刚刚重新检查过,这里的字符串太小,无法重现所述错误(我在我的案例中使用了一个较长的字符串)。下面的顶部答案解决了我的问题。对于业余行为抱歉,请关闭此问题。这是StackOverflow,不是CodeReview。问题不是“如何改进此代码?”。你的答案实际上不是答案。@Aran Fey yep在我写下这个答案后,我也意识到了无回购协议。如果您认为合适,将删除。