栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

迭代器与生成器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

迭代器与生成器

迭代器与生成器 一、 迭代

迭代在python中就是属于可以做for循环遍历的对象,被叫做可迭代对象。

二、可迭代对象分为容器和迭代器两个,迭代器又有生成器分支 三、 迭代器

性质:

  1. 使用print无法查看迭代器中的元素。
  2. 使用len方法也无法查看其中元素个数。
  3. 迭代器(iterator)
  4. 迭代器类似数据结构中的队列(先进先出),迭代器中的元素被取出
    ,迭代器中的元素就会消失,全部被取出时,迭代器也会消失。
  5. 任何容器型数据类型都可以使用iter方法转为迭代器。
str1='hello'
str1_iter=iter(str1)
print(str1_iter,type(str1_iter))    # 
# 
list1=[1,2,3,4]
list_iter=iter(list1)   # 
四、如何获取迭代器中的元素
  1. for循环遍历
  2. next()
for i in 迭代器:
    print(i)
print(next(迭代器))
五、 迭代器的应用

元素被全部取出,迭代器消失,迭代器所占内存被释放,程序就可以减小内存占用。

六、生成器

性质:

  1. 生成器是为了生成迭代器。(生成器一定是迭代器,但是迭代器不一定是生成器)
  2. 生成器就是一个函数。
  3. 调用生成器函数时,函数不执行。
  4. 只有在获取元素时生成器函数才执行,并且获取一个元素才能够让生成器函数执行一次。
  5. 生成器函数返回内部结果使用yield代替一般函数的return。
  6. yield执行几次,生成器就产生几个元素。
return和yield
  1. return和yield都可以将函数内部结果返回到外部。
  2. return被触发,函数立即结束。yield不会结束函数执行。
  3. return和yield后面都可接表达式。
# 练习:使用生成器创建Python001-python999学号。
def stuId():
    for i in range(1, 1000):
        yield f'python{i:0>3}'


f = stuId()
print(f)
print(next(f))
for _ in range(100):
    print(next(f))

# ================
print(next(f))
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038205.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号