【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列表插入元素方法是什么?
- 如何通过python获取字符串单个字符?python获取单个字符的方法
- python中str函数与repr函数有什么区别?python的str函数与repr函数区别
- Python怎么用join函数连接字符串?Python中join函数的语法是什么
- Python恒等运算符是什么?Python中恒等运算符怎么使用
- python如何将字符串和数字进行拼接?python字符串与数字拼接方法
- Python之中的zip函数怎么用?Python如何使用zip函数解压序列
- Python用turtle模块绘图怎么设置颜色?Python画笔颜色设置方法
- python字符串文本怎样进行居中与右对齐?python文本对齐方式讲解
- Python绘图怎么填充图形?Python填充图形用什么方法