关注
迭代器和生成器都是 Python 中用于处理可迭代对象的工具。
一、迭代器
1. 定义:
- 迭代器是一个可以记住遍历位置的对象。
- 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
2. 特点:
- 迭代器提供了一种不依赖索引的访问集合元素的方式。
- 节省内存,因为它不需要一次性加载整个集合到内存中。
3. 举例:
- 对于列表、元组、字符串等可迭代对象,可以使用 iter() 函数将其转换为迭代器。
my_list = [1, 2, 3]
my_iterator = iter(my_list)
print(next(my_iterator)) 输出 1
print(next(my_iterator)) 输出 2
print(next(my_iterator)) 输出 3
二、生成器
1. 定义:
- 生成器是一种特殊的迭代器,它可以在需要的时候生成值,而不是一次性生成所有的值并存储在内存中。
2. 特点:
- 节省内存,尤其适用于处理大量数据。
- 使用 yield 关键字来暂停和恢复函数的执行,从而实现值的逐步生成。
3. 举例:
- 使用生成器函数来创建生成器。
def my_generator():
yield 1
yield 2
yield 3
gen = my_generator()
print(next(gen)) 输出 1
print(next(gen)) 输出 2
print(next(gen)) 输出 3
- 还可以使用生成器表达式来创建生成器,它类似于列表推导式,但使用圆括号而不是方括号。
my_generator = (i for i in range(3))
print(next(my_generator)) 输出 0
print(next(my_generator)) 输出 1
print(next(my_generator))
查看原帖
点赞 评论
相关推荐
10-02 23:00
浙江工业大学 集成电路IC设计 点赞 评论 收藏
分享
牛客热帖
更多
- 1... “所有人”都在二十多岁痛哭,哭着笑着回忆了我的七年2030
- 2... 小红书一面794
- 3... 不想干互联网,有什么别的出路😭508
- 4... 秋招offer选择:阿里淘天|腾讯天美356
- 5... 26届计算机秋招阶段性总结282
- 6... 牛可乐国庆旅行篇-七里山塘277
- 7... 牛可乐国庆旅行篇-黄山274
- 8... #面试问题记录#今日面试某互联网大厂后端岗位,面试官听完项目介绍后沉默片刻,突然问:“如果让你把这段经历写成技术文档,目录结构会怎么安排?” 这个问题让我意识到,能把代码讲清楚和能把逻辑写成文档是两种能力。二面时被问到个接地气的问题:“说说你调试过最痛苦的bug”。我讲了在实习时排查三天才发现是时区转换问题,面试官居然笑着分享了他曾经把元旦促销活动配置到春节的经历。这种技术债共鸣瞬间缓解了紧张气氛。最后被问及“未来三年的技术成长规划”,我老实说想深耕分布式系统。虽然最终没通过,但收到邮件详细列出了知识图谱建议。突然觉得每次面试就像一次免费的技术评审,那些被问住的问题,都是照亮盲区的手电筒。255
- 9... 我的秋招,大抵是结束了(国庆秋招小结)214
- 10... 唉国庆根本学不动211
正在热议
更多
# 国庆放假,你还会投简历吗? #
15489次浏览 124人参与
# 26届的你,投了哪些公司? #
189346次浏览 1110人参与
# 携程求职进展汇总 #
638083次浏览 4657人参与
# AI创作大赛:牛可乐的国庆之旅 #
15948次浏览 222人参与
# 工作两年想退休了 #
160166次浏览 1342人参与
# 金融财经春招备战日记 #
28934次浏览 159人参与
# 深信服秋招来了 #
271445次浏览 2905人参与
# 大学四年该怎么过,才不算浪费时间? #
12807次浏览 77人参与
# 国庆假期,给大脑放个假 #
3718次浏览 39人参与
# 如果没找到工作,考公是你的退路吗 #
48946次浏览 396人参与
# 基恩士求职进展汇总 #
24089次浏览 132人参与
# 你最讨厌面试问你什么? #
100052次浏览 701人参与
# 你小时候最想从事什么职业 #
122558次浏览 1909人参与
# 我的工作日记 #
138797次浏览 1526人参与
# 通信硬件人社招/春招/实习投递现状 #
29828次浏览 947人参与
# 牛友的国庆旅行碎片 #
8659次浏览 75人参与
# 如何KTV领导 #
68751次浏览 495人参与
# 校招入职后的感受 #
375720次浏览 3173人参与
# 查收我的offer竞争力报告 #
216931次浏览 1403人参与
# 国庆放假,你还会主动学习吗? #
15201次浏览 80人参与
# 材料专业可以靠半导体脱坑吗? #
23623次浏览 131人参与
# 如何排解工作中的焦虑 #
216111次浏览 2087人参与