Python 教程之控制流(2)for 循环如何在内部工作?

简介: Python 教程之控制流(2)for 循环如何在内部工作?

在继续本节之前,我们应该事先了解 Python 迭代器。

首先,让我们看看一个简单的 for 循环是什么样子的。

# 一个简单的 for 循环示例
fruits = ["apple", "orange", "kiwi"]
for fruit in fruits:
print(fruit)

输出

apple
orange
kiwi

在这里,我们可以看到 for 循环迭代了可迭代对象fruit,它是一个列表。列表、集合、字典是少数可迭代对象,而整数对象不是可迭代对象。

For 循环可以迭代任何可迭代对象(例如:List、Set、Dictionary、Tuple 或 String)。

现在借助上面的例子,让我们深入了解一下这里内部发生了什么。

  1. 借助 iter() 函数使列表(可迭代)成为可迭代对象。
  2. 运行无限 while 循环并仅在引发 StopIteration 时才中断。
  3. 在 try 块中,我们使用 next() 函数获取水果的下一个元素。
  4. 获取元素后,我们执行了要对元素执行的操作。(即print(fruit))
fruits = ["apple", "orange", "kiwi"]
# 从该可迭代对象(即水果)创建一个迭代器对象
iter_obj = iter(fruits)
# 无限while循环
while True:
try:
  # 获取下一个项目
  fruit = next(iter_obj)
  print(fruit)
except StopIteration:
  # 如果引发了 StopIteration,则从循环中中断
  break

输出

apple
orange
kiwi

我们可以看到,在底层我们调用了 iter() 和 next() 方法。

如果你发现本文有什么问题,欢迎在评论区指正。最后,不要忘了❤或📑支持一下哦,你的支持是海海更新的动力!关注我后面会持续分享面试经验 & 前端相关的专业知识。

目录
相关文章
|
2天前
|
机器学习/深度学习 自然语言处理 PyTorch
使用Python实现循环神经网络(RNN)的博客教程
使用Python实现循环神经网络(RNN)的博客教程
21 1
|
3天前
|
人工智能 IDE 开发工具
python环境安装教程
python环境安装教程
19 0
|
3天前
|
数据采集 iOS开发 MacOS
Python及Pycharm安装教程
Python及Pycharm安装教程
14 0
|
4天前
|
机器学习/深度学习 算法 Python
深入浅出Python机器学习:从零开始的SVM教程/厾罗
深入浅出Python机器学习:从零开始的SVM教程/厾罗
|
5天前
|
算法 机器人 Python
Python实现教程:平面最短路径算法
Python实现教程:平面最短路径算法
12 1
|
5天前
|
机器学习/深度学习 JSON 数据库
Python每循环一次保存一次结果
Python每循环一次保存一次结果
9 1
|
12天前
|
Python 容器
Python中的for循环用法详解,一文搞定它
Python中的for循环用法详解,一文搞定它
|
12天前
|
Python
Python中的while循环,知其然知其所以然
Python中的while循环,知其然知其所以然
|
12天前
|
Linux Python Windows
Python更换国内pip源详细教程
Python更换国内pip源详细教程
|
12天前
|
Linux Python Windows
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)