比如有一组数据1,2,3,4,5,6,7...,需要对数据进行分割处理,
比如列表长度为8, 8/2=4,就分割4组数据,9/2=5就要进行5组数据。输出结果要进行组合分割,第一组数据:(1,2)第二组数据:(2,3)第三组数据:(3,4)第四组数据:(5,6)最后一组不足的:(7,)
如何根据列表分割数据。
def generate_index(n, step=2): for i in range(0, n, step): yield (i, i + step) if i + step < n else (i, None) lst = [1, 2, 3, 4, 5, 6, 7] for i, j in generate_index(len(lst)): print(tuple(lst[i: j]))
结果
(1, 2) (3, 4) (5, 6) (7,)
python3
>>> x=[1,2,3,4,5,6,7] >>> [tuple(x[i:i+2]) for i in range(0,len(x),2)] [(1, 2), (3, 4), (5, 6), (7,)]