python中将集合进行切割的方法

在php中可以很方便的通过array_chunk 进行大数组的切割操作,但是在python中目前貌似没有可以直接使用的方法,下面是在网上搜索了一番,

找到一个不错的解决办法,是利用python的生成器(yield)方法实现。

具体的代码如下:

def iterator_chunk(iterator, size, strict=False):
    rt = []
    for it in iterator:
        rt.append(it)
        if len(rt) == size:
            yield tuple(rt)
            rt = []
        if rt:
            yield tuple(rt)
    if strict and len(rt) != 0:
        raise ValueError('ValueError("Leftover values")')

#使用方法
 for it in iterator_chunk([1,2,3,4,5,6],2):
        print it

#结果
(1, 2)
(3, 4)
(5, 6)

 

posted @ 2013-03-04 11:42  涛光  阅读(643)  评论(0编辑  收藏  举报