Python split list into n chunks

前端 未结 17 1491
情深已故
情深已故 2020-12-02 13:42

I know this question has been covered many times but my requirement is different.

I have a list like: range(1, 26). I want to divide this list into a fi

17条回答
  •  臣服心动
    2020-12-02 13:58

    If order doesn't matter:

    def chunker_list(seq, size):
        return (seq[i::size] for i in range(size))
    
    print(list(chunker_list([1, 2, 3, 4, 5], 2)))
    >>> [[1, 3, 5], [2, 4]]
    
    print(list(chunker_list([1, 2, 3, 4, 5], 3)))
    >>> [[1, 4], [2, 5], [3]]
    
    print(list(chunker_list([1, 2, 3, 4, 5], 4)))
    >>> [[1, 5], [2], [3], [4]]
    
    print(list(chunker_list([1, 2, 3, 4, 5], 5)))
    >>> [[1], [2], [3], [4], [5]]
    
    print(list(chunker_list([1, 2, 3, 4, 5], 6)))
    >>> [[1], [2], [3], [4], [5], []]
    

提交回复
热议问题