例如,字符串0123456789
输入1,2,6,1
将是:
[0,12,345678,9]
答案 0 :(得分:3)
实现此目的的一种方法是使用itertools.islice
:
from itertools import islice
chunks = (1,2,6,1)
s = '0123456789'
assert len(s) >= sum(chunks)
it = iter(s)
result = [int(''.join(islice(it, i))) for i in chunks]
print(result)
# [0, 12, 345678, 9]
答案 1 :(得分:0)
不是那么pythonic但写得很有趣:
def split(a,*b):
def split_rec(a,b,l):
print a
if len(b) == 0:
return l
cut_point = b[0]
l.append(a[0:cut_point])
return split_rec(a[cut_point:], b[1:], l)
return split_rec(a,b,[])
print split("1234567890",1,2,6,1)
答案 2 :(得分:0)
使用基本代码实现结果的另一种简单方法。
.Dispose()