我试图从右边分割一个字符串。以下是代码。
string = "abcde"
n = len(string)
slices = [string[i-3:i] for i in range(n,0,-3)]
print (slices)
我得到的输出为
['cde', '']
。我正在尝试获取 ['cde', 'ab']
但是当我从左边拆分它时,它给出了正确的输出,即
string = "abcde"
slices = [string[i:i+3] for i in range(0,n,3)]
print (slices)
output: ['abc', 'de']
谁能指出我哪里出错了?
最佳答案
你很近。您需要将第一个索引参数设为 0:
x = "abcde"
n = len(x)
slices = [x[max(0,i-3):i] for i in range(n,0,-3)]
['cde', 'ab']
您的代码不起作用的原因是因为使用正指数,从最后落下意味着尽可能地走得更远。
而负指数意味着从头开始,而不是从头到尾。
关于python - 在python中以间隔从右侧拆分字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50105672/