趁着课余时间学点Python(七)一篇文了解迭代器

简介: 趁着课余时间学点Python(七)一篇文了解迭代器


image.png

文章目录

前言

好了,我们言归正传,啊,不对,我们继续道来。我们今天就说说迭代器!

这个词是不是看着比较高大上,感觉学不会?没事,今天我就带着你们征服他们!冲冲冲!

迭代器

迭代迭代,就是一个一个的输出,而迭代器则是python中的一个能够令高级数据类型中的元素一个一个显示的东西。有人会说,这不是可以通过循环来做的吗?

打个比方:我这有一个列表:[1, 3, 7, 2, 5, 9],你要获取数据的话,第一个想法是不是通过循环控制语句将其遍历,但是循环的话会使列表中的元素全部取出来。

而你又会想到通过下标取值,一个一个取,但是数据很少的时候,你能记得住下标,自己通过下标取值,到那时如果数据多达成千上万,上百万,你又怎么记得住呢?就算你记得住,你自己写,那不也挺麻烦的吗?

所以,我们这个时候就需要迭代器。我们可以用完这个值后,放在那,而迭代器会记住你上次使用的位置,等你下次使用,他就会将下一个取出来。

举个例子来理解:就像你参加了个比赛,按牌号一个一个的进行比赛,但是轮到你的时候,突发状况,比赛终止,你被通知两个月后再来比赛,而评委,或者说他们手上的比赛记录就是迭代器,可以在两个月后精准的找到你。

迭代器的基本方法

  1. iter()
    作用是将你的可迭代对象变成迭代器
  2. next()
    作用是从你的迭代器取值。

看看代码:

# 定义一个列表
li = [1, 2, 3, 4, 5, 6]
# 将你的列表变成迭代器
it_li = iter(li)
# 取出你的迭代器的第一个值
first = next(it_li)
print(f"号码牌为{first}的选手")
# 取出第二个
second = next(it_li)
print(f"号码牌为{second}的选手")
# 到你了,比赛暂停两个月
third = next(it_li)
print(f"号码牌为{third}的选手")

对,刚刚叭叭叭说了一大堆,其实迭代器就是这玩意!–>it_li

next()则是迭代器的使用方法

就这?就这?

image.png

这就是迭代器?听着名字我还以为多高大上呢,结果就这啊!

也不过如此嘛,小小迭代器,也想阻挡我学习Python?

小练习

生成1-100的数,放入一个列表,并转为迭代器,然后用循环展现出来

每次循环穿插一句“已经经过了xxx年”xxx为每个迭代的值

li = []
for i in range(100):
    li.append(i+1)
it_li = iter(li)
for i in it_li:
    nian = next(it_li)
    print(f"已经过了{nian}年了")
    print(nian)

结语

这只是简单运用,本篇其实还打算写一下生成器和装饰器,但是鉴于还没学函数,就罢了!

兴趣是最好的老师,坚持是不变的真理。

学习不要急躁,一步一个脚印,踏踏实实的往前走。

每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。

我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!

说了这么多暂时也就够了,那么就告辞吧

image.png


目录
相关文章
|
30天前
|
开发者 Python 容器
深入理解Python迭代器:迭代机制的核心与应用
本文介绍了Python迭代器的核心概念、工作原理和应用场景。迭代器是遍历容器类型数据结构(如列表、元组、字典和集合)的对象,遵循迭代器协议,具有记忆遍历位置和一次性特点。通过实现迭代器协议,开发者能为自定义类型定义迭代行为,实现高效处理大量数据和与其他迭代工具协同工作。迭代器与可迭代对象的区别在于,可迭代对象实现`__iter__()`方法,返回迭代器,而迭代器实现`__next__()`方法,用于逐个访问元素。理解并运用迭代器能提升Python代码的性能和可读性。
|
1月前
|
算法 大数据 Python
Python生成器:优雅而高效的迭代器
Python生成器:优雅而高效的迭代器
|
2月前
|
索引 Python 容器
解释Python中的迭代器和生成器的优势和劣势。
解释Python中的迭代器和生成器的优势和劣势。
35 2
|
2月前
|
传感器 数据库 Python
Python生成器和迭代器
Python生成器和迭代器
|
9天前
|
缓存 大数据 数据处理
Python迭代器、生成器和装饰器探究
【4月更文挑战第2天】 迭代器是遍历集合元素的对象,实现`__iter__()`和`__next__()`方法。示例中自定义迭代器`MyIterator`用于生成整数序列。 - 生成器简化了迭代器实现,利用`yield`关键词实现状态保存,减少内存占用。示例中的`my_generator`函数即为一个生成器。 - 装饰器用于修改函数行为,如日志记录、性能分析。装饰器`my_decorator`在函数调用前后添加额外代码。
23 0
|
10天前
|
大数据 数据处理 开发者
深入理解Python中的迭代器和生成器
Python中的迭代器和生成器是实现高效循环和处理大型数据集的重要工具。本文将深入探讨迭代器和生成器的概念、原理以及在实际开发中的应用场景,帮助读者更好地理解和利用这些强大的工具。
|
13天前
|
存储 大数据 Python
「Python系列」Python迭代器与生成器
Python迭代器是一个可以记住遍历的位置的对象。迭代器对象必须实现两个方法,`__iter__()` 和 `__next__()`。字符串、列表或元组等数据类型都是可迭代对象,但它们不是迭代器,因为它们没有实现 `__next__()` 方法。
14 0
|
23天前
|
人工智能 机器人 测试技术
【Python】Python迭代器与生成器的区别(详细讲解)
【Python】Python迭代器与生成器的区别(详细讲解)
【Python】Python迭代器与生成器的区别(详细讲解)
|
1月前
|
Python
在Python中,如何创建一个迭代器?
【2月更文挑战第24天】【2月更文挑战第81篇】在Python中,如何创建一个迭代器?
|
1月前
|
Python
请解释Python中的迭代器和生成器的区别?并分别举例说明。
【2月更文挑战第24天】【2月更文挑战第80篇】请解释Python中的迭代器和生成器的区别?并分别举例说明。