- Python 基础
- Python - 首页
- Python - 概述
- Python - 历史
- Python - 特性
- Python vs C++
- Python - Hello World 程序
- Python - 应用领域
- Python - 解释器
- Python - 环境设置
- Python - 虚拟环境
- Python - 基本语法
- Python - 变量
- Python - 数据类型
- Python - 类型转换
- Python - Unicode 系统
- Python - 字面量
- Python - 运算符
- Python - 算术运算符
- Python - 比较运算符
- Python - 赋值运算符
- Python - 逻辑运算符
- Python - 位运算符
- Python - 成员运算符
- Python - 身份运算符
- Python - 运算符优先级
- Python - 注释
- Python - 用户输入
- Python - 数字
- Python - 布尔值
- Python 控制语句
- Python - 控制流
- Python - 决策
- Python - if 语句
- Python - if else
- Python - 嵌套 if
- Python - match-case 语句
- Python - 循环
- Python - for 循环
- Python - for-else 循环
- Python - while 循环
- Python - break 语句
- Python - continue 语句
- Python - pass 语句
- Python - 嵌套循环
- Python 函数与模块
- Python - 函数
- Python - 默认参数
- Python - 关键字参数
- Python - 仅限关键字参数
- Python - 位置参数
- Python - 仅限位置参数
- Python - 可变参数
- Python - 变量作用域
- Python - 函数注解
- Python - 模块
- Python - 内置函数
- Python 字符串
- Python - 字符串
- Python - 字符串切片
- Python - 修改字符串
- Python - 字符串连接
- Python - 字符串格式化
- Python - 转义字符
- Python - 字符串方法
- Python - 字符串练习
- Python 列表
- Python - 列表
- Python - 访问列表元素
- Python - 修改列表元素
- Python - 添加列表元素
- Python - 删除列表元素
- Python - 遍历列表
- Python - 列表推导式
- Python - 排序列表
- Python - 复制列表
- Python - 合并列表
- Python - 列表方法
- Python - 列表练习
- Python 元组
- Python - 元组
- Python - 访问元组元素
- Python - 更新元组
- Python - 解包元组
- Python - 遍历元组
- Python - 合并元组
- Python - 元组方法
- Python - 元组练习
- Python 集合
- Python - 集合
- Python - 访问集合元素
- Python - 添加集合元素
- Python - 删除集合元素
- Python - 遍历集合
- Python - 合并集合
- Python - 复制集合
- Python - 集合运算符
- Python - 集合方法
- Python - 集合练习
- Python 字典
- Python - 字典
- Python - 访问字典元素
- Python - 修改字典元素
- Python - 添加字典元素
- Python - 删除字典元素
- Python - 字典视图对象
- Python - 遍历字典
- Python - 复制字典
- Python - 嵌套字典
- Python - 字典方法
- Python - 字典练习
- Python 数组
- Python - 数组
- Python - 访问数组元素
- Python - 添加数组元素
- Python - 删除数组元素
- Python - 遍历数组
- Python - 复制数组
- Python - 反转数组
- Python - 排序数组
- Python - 合并数组
- Python - 数组方法
- Python - 数组练习
- Python 文件处理
- Python - 文件处理
- Python - 写入文件
- Python - 读取文件
- Python - 重命名和删除文件
- Python - 目录
- Python - 文件方法
- Python - OS 文件/目录方法
- Python - OS 路径方法
- 面向对象编程
- Python - OOP 概念
- Python - 类与对象
- Python - 类属性
- Python - 类方法
- Python - 静态方法
- Python - 构造函数
- Python - 访问修饰符
- Python - 继承
- Python - 多态
- Python - 方法重写
- Python - 方法重载
- Python - 动态绑定
- Python - 动态类型
- Python - 抽象
- Python - 封装
- Python - 接口
- Python - 包
- Python - 内部类
- Python - 匿名类和对象
- Python - 单例类
- Python - 包装类
- Python - 枚举
- Python - 反射
- Python 错误与异常
- Python - 语法错误
- Python - 异常
- Python - try-except 块
- Python - try-finally 块
- Python - 抛出异常
- Python - 异常链
- Python - 嵌套 try 块
- Python - 用户自定义异常
- Python - 日志记录
- Python - 断言
- Python - 内置异常
- Python 多线程
- Python - 多线程
- Python - 线程生命周期
- Python - 创建线程
- Python - 启动线程
- Python - 加入线程
- Python - 线程命名
- Python - 线程调度
- Python - 线程池
- Python - 主线程
- Python - 线程优先级
- Python - 守护线程
- Python - 线程同步
- Python 同步
- Python - 线程间通信
- Python - 线程死锁
- Python - 中断线程
- Python 网络编程
- Python - 网络编程
- Python - 套接字编程
- Python - URL 处理
- Python - 泛型
- Python 库
- NumPy 教程
- Pandas 教程
- SciPy 教程
- Matplotlib 教程
- Django 教程
- OpenCV 教程
- Python 其他
- Python - 日期与时间
- Python - 数学
- Python - 迭代器
- Python - 生成器
- Python - 闭包
- Python - 装饰器
- Python - 递归
- Python - 正则表达式
- Python - PIP
- Python - 数据库访问
- Python - 弱引用
- Python - 序列化
- Python - 模板
- Python - 输出格式化
- Python - 性能测量
- Python - 数据压缩
- Python - CGI 编程
- Python - XML 处理
- Python - GUI 编程
- Python - 命令行参数
- Python - 文档字符串
- Python - JSON
- Python - 发送邮件
- Python - 扩展
- Python - 工具/实用程序
- Python - GUI
- Python 高级概念
- Python - 抽象基类
- Python - 自定义异常
- Python - 高阶函数
- Python - 对象内部
- Python - 内存管理
- Python - 元类
- Python - 使用元类进行元编程
- Python - 模拟和存根
- Python - Monkey Patching
- Python - 信号处理
- Python - 类型提示
- Python - 自动化教程
- Python - Humanize 包
- Python - 上下文管理器
- Python - 协程
- Python - 描述符
- Python - 诊断和修复内存泄漏
- Python - 不可变数据结构
- Python 有用资源
- Python - 问答
- Python - 在线测验
- Python - 快速指南
- Python - 参考
- Python - 速查表
- Python - 项目
- Python - 有用资源
- Python - 讨论
- Python 编译器
- NumPy 编译器
- Matplotlib 编译器
- SciPy 编译器
Python - for 循环
Python 中的for 循环可以迭代任何序列的元素,例如列表、元组或字符串。它对序列中的每个项目执行相同的操作。此循环以for关键字开头,后跟一个变量,该变量表示序列中当前的项目。in关键字将变量链接到要迭代的序列。循环标题末尾使用冒号 (:),其下方的缩进代码块将为序列中的每个项目执行一次。
Python for 循环的语法
for iterating_var in sequence: statement(s)
这里,iterating_var 是一个变量,在每次迭代期间,每个序列项的值都将分配给它。Statements 表示要重复执行的代码块。
循环开始之前,会评估序列。如果它是列表,则首先评估表达式列表(如有)。然后,序列中的第一个项目(索引为 0)将分配给iterating_var 变量。
在每次迭代期间,语句块将使用iterating_var 的当前值执行。之后,序列中的下一个项目将分配给iterating_var,循环将继续,直到整个序列被遍历。
Python for 循环的流程图
下图说明了for循环的工作原理:
带字符串的 Python for 循环
一个字符串是Unicode字符的序列,每个字符都有一个位置索引。因为它是一个序列,所以可以使用 for 循环迭代其字符。
示例
以下示例比较每个字符,并显示它是否不是元音 ('a', 'e', 'i', 'o', 'u')。
zen = ''' Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. ''' for char in zen: if char not in 'aeiou': print (char, end='')
执行此代码后,将产生以下输出:
Btfl s bttr thn gly. Explct s bttr thn mplct. Smpl s bttr thn cmplx. Cmplx s bttr thn cmplctd.
Python 循环语句与元组
Python 的元组对象也是一个索引序列,因此您可以使用for循环遍历其项目。
示例
在下面的示例中,for循环遍历包含整数的元组,并返回所有数字的总和。
numbers = (34,54,67,21,78,97,45,44,80,19) total = 0 for num in numbers: total += num print ("Total =", total)
运行此代码后,将产生以下输出:
Total = 539
Python 循环语句与列表
Python 的列表对象也是一个索引序列,因此您可以使用for循环迭代其项目。
示例
在下面的示例中,for循环遍历包含整数的列表,并仅打印那些能被2整除的数。
numbers = [34,54,67,21,78,97,45,44,80,19] total = 0 for num in numbers: if num%2 == 0: print (num)
执行此代码后,将显示以下结果:
34 54 78 44 80
Python 循环语句与 range 对象
Python 内置的range()函数返回一个迭代器对象,该对象流式传输一系列数字。此对象包含从start到stop的整数,由step参数分隔。您也可以使用range运行for循环。
语法
range()函数具有以下语法:
range(start, stop, step)
其中,
Start - range的起始值。可选。默认为0
Stop - range 达到 stop-1 结束
Step - range 中的整数以step值递增。可选,默认为1。
示例
在这个例子中,我们将看到range与for循环的用法。
for num in range(5): print (num, end=' ') print() for num in range(10, 20): print (num, end=' ') print() for num in range(1, 10, 2): print (num, end=' ')
运行上述代码后,将产生以下输出:
0 1 2 3 4 10 11 12 13 14 15 16 17 18 19 1 3 5 7 9
Python 循环语句与字典
与列表、元组或字符串不同,Python 中的字典数据类型不是序列,因为项目没有位置索引。但是,仍然可以使用for循环遍历字典。
示例
对字典对象运行简单的for循环将遍历其中使用的键。
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"} for x in numbers: print (x)
执行此代码后,将产生以下输出:
10 20 30 40
一旦我们能够获取键,就可以使用方括号运算符或get()方法轻松访问其关联值。
示例
以下示例说明了上述方法。
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"} for x in numbers: print (x,":",numbers[x])
它将产生以下输出:
10 : Ten 20 : Twenty 30 : Thirty 40 : Forty
dict类的items()、keys()和values()方法分别返回视图对象dict_items、dict_keys和dict_values。这些对象是迭代器,因此我们可以在它们上运行for循环。
示例
dict_items对象是键值元组列表,可以在其上运行for循环,如下所示:
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"} for x in numbers.items(): print (x)
它将产生以下输出:
(10, 'Ten') (20, 'Twenty') (30, 'Thirty') (40, 'Forty')
在 For 循环中使用 else 语句
Python 支持在循环语句中使用else语句。但是,当循环遍历列表完毕时,将执行else语句。
示例
以下示例说明了else语句与for语句的组合,该for语句搜索10到20之间的素数。
#For loop to iterate between 10 to 20 for num in range(10, 20): #For loop to iterate on the factors for i in range(2,num): #If statement to determine the first factor if num%i == 0: #To calculate the second factor j=num/i print ("%d equals %d * %d" % (num,i,j)) #To move to the next number break else: print (num, "is a prime number") break
执行上述代码后,将产生以下结果:
10 equals 2 * 5 11 is a prime number 12 equals 2 * 6 13 is a prime number 14 equals 2 * 7 15 equals 3 * 5 16 equals 2 * 8 17 is a prime number 18 equals 2 * 9 19 is a prime number