Python:一种比较简洁的等分List代码

from itertools import zip_longest    # zip_longest -> Python 3, izip_longest -> Python 2
chunk_list = lambda a_list, n: zip_longest(*[iter(a_list)]*n)
result_groups = list(chunk_list([x for x in range(100)], 8))

Out[12]: 
[(0, 1, 2, 3, 4, 5, 6, 7),
 (8, 9, 10, 11, 12, 13, 14, 15),
 (16, 17, 18, 19, 20, 21, 22, 23),
 (24, 25, 26, 27, 28, 29, 30, 31),
 (32, 33, 34, 35, 36, 37, 38, 39),
 (40, 41, 42, 43, 44, 45, 46, 47),
 (48, 49, 50, 51, 52, 53, 54, 55),
 (56, 57, 58, 59, 60, 61, 62, 63),
 (64, 65, 66, 67, 68, 69, 70, 71),
 (72, 73, 74, 75, 76, 77, 78, 79),
 (80, 81, 82, 83, 84, 85, 86, 87),
 (88, 89, 90, 91, 92, 93, 94, 95),
 (96, 97, 98, 99, None, None, None, None)]

    原文作者:python入门
    原文地址: https://my.oschina.net/u/1431297/blog/618995
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞