基于2个整数列表提取字符串。python

基于2个整数列表提取字符串。python,python,string,integer,extract,Python,String,Integer,Extract,我正在尝试调整end[k]和start[k+1]之间的顺序#seq[end[k]:start[k+1]] 所以在这种情况下应该有两个序列 seq = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' start = [2,9,18] end = [6,12,20] #output = seq[end[k]:start[k+1]] 使用zip: outp1 = seq[6:9] #'GHI' out2 = seq[12:18] #'MNOPQR' 内存有效版本: >>

我正在尝试调整end[k]和start[k+1]之间的顺序#seq[end[k]:start[k+1]]

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

seq = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

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

#output = seq[end[k]:start[k+1]]
使用
zip

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

out2 = seq[12:18] #'MNOPQR'
内存有效版本:

>>> seq = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> start = [2,9,18]
>>> end = [6,12,20]
>>> for x,y in zip(end, start[1:]):
...     print seq[x:y]
...     
GHI
MNOPQR
>>> from itertools import izip,islice
>>> for x,y in izip(end,islice(start,1,None)):
    print seq[x:y]
...     
GHI
MNOPQR
for i in range(len(end)-1):
    seq[end[i]:start[i+1]]

answer:-
    'GHI'
    'MNOPQR'