现在的位置: 首页 > 综合 > 正文

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

2012年02月15日 ⁄ 综合 ⁄ 共 391字 ⁄ 字号 评论关闭

在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)

 

抱歉!评论已关闭.