在python中以一定间隔从右边拆分一个字符串

Joe*_*Joe 4 python string split list

我正试图从右边分割一个字符串.以下是代码.

string = "abcde" 
n = len(string)
slices = [string[i-3:i] for i in range(n,0,-3)]
print (slices)
Run Code Online (Sandbox Code Playgroud)

我把输出作为['cde', ''].我想要的['cde', 'ab']

但是当我从左边分开它时,它给出了正确的输出,即,

string = "abcde" 
slices = [string[i:i+3] for i in range(0,n,3)]
print (slices)

output: ['abc', 'de']
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出我哪里出错了?

jpp*_*jpp 8

你很亲密 您需要将第一个索引参数置于0:

x = "abcde" 
n = len(x)
slices = [x[max(0,i-3):i] for i in range(n,0,-3)]

['cde', 'ab']
Run Code Online (Sandbox Code Playgroud)

你的代码不起作用的原因是因为积极的指数,从结尾掉下来意味着尽可能地走.

负指数意味着从结束开始,而不是开始而不是进一步.