python列表分组

41 阅读1分钟
def list_grouping(data:list, child_length:int) -> list:
    '''列表分组[1,2] -> [[1],[2]]'''
    groups = zip(*(iter(data),) * child_length)
    target = [list(i) for i in groups]
    count = len(data) % child_length
    target.append(data[-count:]) if count !=0 else target
    return target

执行

list_grouping([1,2,3,4,5],2)

结果

[[1, 2], [3, 4], [5]]