美文网首页
python数据分析 迭代 函数

python数据分析 迭代 函数

作者: 飞猪的浪漫 | 来源:发表于2023-08-25 17:25 被阅读0次

    rint("********什么是生成器表达式********")

    #生成器表达式是在 Python 中创建迭代器的一种简洁方法。

    #生成器表达式形式为使用圆括号括起来的一个for循环及其后面的条件表达式

    #语法:(expression for item in iterable if condition)

    #类似于列表推导式,但它不是创建列表,而是创建一个可以迭代的生成器对象。

    #生成器表达式不在内存中创建列表,而是创建一个可以迭代的生成器对象,处理大数据时非常节省内存。

    #使用生成器对象的元素时,可以根据需要将其转化为列表或元组。

    #也可以使用生成器对象的__next__()方法或者内置函数next()进行遍历,

    #或者直接使用for循环来遍历其中的元素。

    #但是不管用哪种方法访问其元素,只能从前往后正向访问每个元素,

    #不能再次访问已访问过的元素,也不支持使用下标访问其中的元素。

    #当所有元素访问结束以后,如果需要重新访问其中的元素,必须重新创建该生成器对象,

    #enumerate、filter、map、zip等其他迭代器对象也具有同样的特点。

    print("\n")

    print("********生成器表达式实际应用举例********")

    #生成一个列表,为0到9中偶数的平方

    gen1 = (i**2 for i in range(10) if i%2 ==0)

    print(gen1) #<generator object <genexpr> at 0x0000020D3C62E930>

    print(list(gen1)) #[0, 4, 16, 36, 64]

    #等价于下面不使用表达式的写法

    def fib(n):

        for i in range(n+1):

            if i % 2 == 0:

                yield i**2

    print(list(fib(9)))

    相关文章

      网友评论

          本文标题:python数据分析 迭代 函数

          本文链接:https://www.haomeiwen.com/subject/tnfbmdtx.html