美文网首页
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