Skip to main content
 首页 » 编程设计

python之如何在 python 中根据索引和长度做无限字符串

2025年05月04日19daizhj

我正在尝试做一个采用三个参数的方法。字符串、索引和长度。 我正在尝试创建一个无限字符串。

示例: 方法("book",-3,9)

输出: bookbookbo

示例 2: method("book",-5,15)

输出2 kbookbookbookbo

到目前为止我的代码:

def create_sequence(string, index, length): 
    positive_index = abs(index) 
    l = list(string) 
    end = "" 
    print(length- positive_index - len(l)) 
    for i in range(length- positive_index - len(l)): 
 
        end += l[i] 
    output = ''.join([string,end]) 

我的逻辑:字符串将始终被使用,所以我只需要得到序列的右端部分和开始(左侧)部分,然后将它们连接在一起。只要 length - positive_index - len(l) 小于或等于字符串长度,我代码中的结尾部分就可以工作。我也不知道如何获取接下来的序列部分在原始字符串之前。

我是 python 的初学者,非常感谢任何帮助。

编辑:我希望我的输入字符串成为基础。与书中一样,其中的每个字母都有 0、1、2 和 3 个索引。本书中“0”即“b”左边的所有添加的字符都是负索引。

请您参考如下方法:

只需使用模 % 将索引“规范化”为字符串的长度:

def create_sequence(string, start, length): 
    return ''.join(string[i % len(string)] for i in range(start, start + length)) 
 
>>> create_sequence("book", -3, 9) 
'ookbookbo' 
>>> create_sequence("book", -5, 15) 
'kbookbookbookbo'