【问题标题】:Splitting a string from right at intervals in python在python中每隔一段时间从右边拆分一个字符串
【发布时间】:2018-10-10 20:28:55
【问题描述】:

我正在尝试从右侧拆分字符串。以下是代码。

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']

谁能指出我哪里出错了?

【问题讨论】:

    标签: python string list split


    【解决方案1】:

    你很接近。您需要将第一个索引参数设置为 0:

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

    您的代码不起作用的原因是因为使用正索引,从末端掉下来意味着尽可能地走。

    而负指数意味着从头开始,而不是从头开始,不再继续。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 2022-11-27
      • 2013-02-07
      • 1970-01-01
      • 2017-04-23
      • 1970-01-01
      相关资源
      最近更新 更多