基于2个整数列表提取字符串.蟒蛇

O.r*_*rka 3 python string integer extract

seq = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

start = [2,9,18]
end = [6,12,20]

#output = seq[end[k]:start[k+1]]
Run Code Online (Sandbox Code Playgroud)

我正在尝试结束[k]和开始[k + 1] #seq [end [k]:start [k + 1]]之间的序列

所以在这种情况下应该有2个序列.

outp1 = seq[6:9] #'GHI'

out2 = seq[12:18] #'MNOPQR'
Run Code Online (Sandbox Code Playgroud)

Ash*_*ary 5

用途zip:

>>> seq = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> start = [2,9,18]
>>> end = [6,12,20]
>>> for x,y in zip(end, start[1:]):
...     print seq[x:y]
...     
GHI
MNOPQR
Run Code Online (Sandbox Code Playgroud)

内存高效版:

>>> from itertools import izip,islice
>>> for x,y in izip(end,islice(start,1,None)):
    print seq[x:y]
...     
GHI
MNOPQR
Run Code Online (Sandbox Code Playgroud)