python能够去用来实现很多不同方向的程序开发,而大数据和数据处理方向就是Python的强项之一。而在有很多的数据时一次性将其处理速度就会很慢,甚至出现内存溢出问题。那么这个时候就要用生成器来拆分数据了,下文会有详细代码示例解析。

Python怎么使用生成器拆分数据?Python生成器拆分数据如何实现

无论是在什么样的服务器上使用python处理数据,当数据量非常大的时候都不能够一次性的将其处理掉,而需要将大数据拆分为多个小数据再进行处理,这样既能提高程序运行速度又可以合理利用内存。

而要实现这个需求就要用到生成器了,python之中的生成器实际上就是一个可迭代对象,或者说是每次都会生成一个值返回的函数。而生成器只需要通过yeild关键字即可创建,示例如下:

def chunker(iterable,size):
    for i in range(0,len(iterable),size):
        yield iterable[i:i+size]

在这个函数之中的两个参数分别为需要拆分的数据列表,以及拆分后每个保存数据的序列长度。而之所以会使用yeild来创建生成器是因为函数在每次执行完毕之后都会生成一个包含了大数据列表一部分数据的列表对象,如果不使用yeild创建生成器,函数在调用之后只会返回最后一次所拆分的数据。

而用了yeild关键字创建生成器则会将每次运行之后的结果返回给调用函数的位置并将当前状态保存下来,当下次调用这个生成器函数时就又会从保存的位置开始执行。这样就可以实现将数据拆分的功能,因为要返回多个数据列表,所以需要用for循环迭代调用函数,示例如下:

for chunk in chunker(range(100),20):
  print(chunk)

以上就是关于“Python怎么使用生成器拆分数据?Python生成器拆分数据如何实现”的全部内容了,希望对你有所帮助。

更多python相关文章请访问分类:python

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!