生成器实现迭代大列表

Posted Dylan_Wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成器实现迭代大列表相关的知识,希望对你有一定的参考价值。

l = [0,1,2,3,4,5,6,7,8,9,]   #模拟一个大列表
def list_scan_iter(L):
    start = 0   #从0开始取值
    while True:
        # 第一次:0,1,2,3
        # 第二次:4,5,6,7
        # 第三次:8,9
        vals = L[start:start+4]    #每次取4个值
        start += 4
        if not vals:    #vals=[]时
            return 
        for val in vals:
            yield val


ret = list_scan_iter(l)

for i in ret:
    print(i)

结果:

0
1
2
3
4
5
6
7
8
9

 

以上是关于生成器实现迭代大列表的主要内容,如果未能解决你的问题,请参考以下文章

Python3 迭代器与生成器

迭代器可迭代对象与生成器

十python生成器和迭代器

迭代器,生成器,列表解析,装饰器,深浅拷贝

5.1.24 Python之列表生成式生成器可迭代对象与迭代器

如何在UL中迭代使用appendChild和片段LI?