如何在列表中存储索引

Sam*_*Sam 7 python python-3.x

我想找到一个字符串的某些段并存储它们,但是,我需要存储大量的这些字符串,我认为将它们存储为主字符串的索引而不是列表可能更优雅字符串.我无法检索索引以供使用.例如:

index1 = [0:3, 4:8] #invalid syntax
index2 = ['0:3','5:6']

s = 'ABCDEFGHIJKLMN'

print(s[index2[0]]) #TypeError string indices must be integers
Run Code Online (Sandbox Code Playgroud)

我是否以错误的方式思考这个问题?

Ray*_*Ray 14

基于冒号的切片语法仅在索引运算符内有效,例如x[i:j].相反,您可以slice在列表中存储对象,例如,slice(x,y,z)等同于x:y:z

index = [slice(0,3), slice(5,6)]
print([s[i] for i in index])
Run Code Online (Sandbox Code Playgroud)

将打印:

['ABC', 'F']
Run Code Online (Sandbox Code Playgroud)