大家好,今天我们要一起探索Python中的六个神奇工具:迭代器和生成器。它们就像魔法棒,能让我们优雅地处理大量数据,既节省内存又高效。别担心,我会用最接地气的语言和简单易懂的代码示例来带你一探究竟!
1. 列表迭代器(List Iterator)
# 创建一个列表
numbers = [1, 2, 3, 4, 5]# 使用内置的iter()函数创建迭代器
iterator = iter(numbers)# 遍历列表
for num in iterator:print(num)
这个小家伙会逐个取出列表元素,就像从左到右数手指一样。
2. 集合迭代器(Set Iterator)
my_set = {1, 2, 3, 4, 5}
set_iterator = iter(my_set)# 集合也是可以遍历的
for item in set_iterator:print(item)
集合迭代器就像从一堆随机摆放的数字中找出唯一的一样。
3. 字符串迭代器(String Iterator)
text = "Hello, Python!"
char_iterator = iter(text)# 逐字符打印
for char in char_iterator:print(char, end=" ")
每个字符都会像邮票一样一张张出现。
4. 生成器(Generator)- range()函数
生成器超级酷,它能按需计算值,而不是一次性生成所有结果。看这个range的例子:
for i in range(10):print(i)
它会一步步生成0到9的数字,就像打开一个无限的巧克力盒子,每次只给你一颗。
5. 生成器表达式(Generator Expression)
这可是生成器的精简版,比如找到偶数:
even_numbers = (i for i in range(10) if i % 2 == 0)
for num in even_numbers:print(num)
就像筛选出超市里的所有偶数商品。
6. 自定义生成器函数(Custom Generator Function)
最后,我们来创建一个自己的生成器,比如斐波那契数列:
def fibonacci(n):a, b = 0, 1for _ in range(n):yield aa, b = b, a + bgen = fibonacci(10)
for fib in gen:print(fib)
这就是个神奇的“魔术师”,每次给你递增的斐波那契数,永远不会让你等太久。
现在你是不是觉得迭代器和生成器好有趣?它们让Python编程变得更加灵活和高效。记住,学习编程就像在探索未知的世界,慢慢来,一步一步,你也会成为Python江湖的大侠!
更多精彩文章请关注下方微信公众号!