一文掌握Python所有常见的循环用法

news2025/1/12 9:49:26

更多资料获取

📚 个人网站:ipengtao.com


循环是编程中的重要概念,它允许我们重复执行一组操作,直到满足某个条件。Python提供了多种类型的循环,以适应不同的需求和场景。本文将详细介绍Python中所有常见的循环用法,包括for循环、while循环、breakcontinue语句等。

for循环

for循环用于遍历可迭代对象中的元素,如列表、元组、字符串等。

下面是一个简单的for循环示例:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

输出:

apple
banana
cherry

range()函数与for循环

range()函数用于生成一个数字序列,通常与for循环一起使用。可以使用range()指定起始值、结束值和步长。

for i in range(1, 6):
    print(i)

输出:

1
2
3
4
5

while循环

while循环用于在满足条件的情况下重复执行一组操作。循环将一直执行,直到条件不再满足为止。

count = 0
while count < 5:
    print(count)
    count += 1

输出:

0
1
2
3
4

break语句

break语句用于在循环内部终止循环,即使条件仍然满足。通常与条件判断一起使用。

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    if fruit == "banana":
        break
    print(fruit)

输出:

apple

continue语句

continue语句用于跳过循环中的当前迭代,然后继续下一次迭代。通常与条件判断一起使用。

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    if fruit == "banana":
        continue
    print(fruit)

输出:

apple
cherry

嵌套循环

Python允许在循环内部使用其他循环,这被称为嵌套循环。嵌套循环可用于处理多维数据结构或执行复杂的循环操作。

for i in range(3):
    for j in range(3):
        print(i, j)

输出:

0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2

else语句与循环

Python中的循环还可以与else语句一起使用,else语句在循环正常结束时执行,但不在循环被break终止时执行。

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
else:
    print("循环结束")

输出:

apple
banana
cherry
循环结束

enumerate()函数

enumerate()函数用于在循环中同时获取元素的索引和值。

fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print(index, fruit)

输出:

0 apple
1 banana
2 cherry

zip()函数

zip()函数用于同时迭代多个可迭代对象,并将它们的元素配对。

fruits = ["apple", "banana", "cherry"]
colors = ["red", "yellow", "red"]
for fruit, color in zip(fruits, colors):
    print(fruit, color)

输出:

apple red
banana yellow
cherry red

循环中的条件判断

循环中的条件判断用于控制循环是否继续执行。可以使用if语句在循环内部进行条件判断,以根据需要执行不同的操作。

numbers = [1, 2, 3, 4, 5, 6]
for number in numbers:
    if number % 2 == 0:
        print(number, "是偶数")
    else:
        print(number, "是奇数")

输出:

1 是奇数
2 是偶数
3 是奇数
4 是偶数
5 是奇数
6 是偶数

列表推导式

列表推导式(List Comprehension)是一种简洁的方式,用于通过对一个或多个可迭代对象进行操作来创建新的列表。它可以在一行代码中生成新列表,非常适合处理简单的数据转换任务。

numbers = [1, 2, 3, 4, 5]
squared_numbers = [x ** 2 for x in numbers]
print(squared_numbers)

输出:

[1, 4, 9, 16, 25]

pass语句

pass语句是一个空操作语句,通常用于占位符或在代码块中什么都不做时。它在循环或条件语句中充当占位符,以防止语法错误。

for i in range(5):
    pass

else语句与while循环

else语句还可与while循环一起使用,它在循环正常结束时执行,或者在循环被break终止时不执行。

count = 0
while count < 5:
    print(count)
    count += 1
else:
    print("循环结束")

输出:

0
1
2
3
4
循环结束

无限循环

无限循环是一种不会自动停止的循环。通常需要使用break语句来退出无限循环。

while True:
    user_input = input("输入 'q' 退出循环:")
    if user_input == 'q':
        break

循环中的tryexcept

在循环中,可以使用tryexcept语句来捕获异常,并在异常发生时执行特定的操作,然后继续循环。

numbers = [1, 2, 3, 'four', 5]
for num in numbers:
    try:
        result = 10 / num
        print(result)
    except ZeroDivisionError:
        print("除以零错误")
    except TypeError:
        print("类型错误")

输出:

10.0
5.0
3.3333333333333335
类型错误
2.0

enumerate()函数与for循环

enumerate()函数用于在for循环中同时获取元素的索引和值。

fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print(index, fruit)

输出:

0 apple
1 banana
2 cherry

循环中的条件判断与else

循环中的条件判断与else语句可用于在循环内部执行特定操作,并在循环正常结束时执行else块中的代码。

numbers = [1, 2, 3, 4, 5]
for number in numbers:
    if number % 2 == 0:
        print(number, "是偶数")
    else:
        print(number, "是奇数")
else:
    print("循环结束")

输出:

1 是奇数
2 是偶数
3 是奇数
4 是偶数
5 是奇数
循环结束

偏函数与functools.partial

Python的functools.partial函数可用于创建一个新函数,其中的某些参数被预先设置为特定值。这在需要重复调用函数并使用相同参数的情况下非常有用。

import functools

def power(base, exponent):
    return base ** exponent

square = functools.partial(power, exponent=2)
cube = functools.partial(power, exponent=3)

print(square(2))  # 计算2的平方
print(cube(2))    # 计算2的立方

输出:

4
8

循环中的with语句

with语句通常与文件操作一起使用,以确保在退出循环时文件被正确关闭。这可以防止资源泄漏。

for filename in filenames:
    with open(filename, 'r') as file:
        content = file.read()
    # 在这里进行文件内容的处理

总结

Python提供了多种循环用法,适用于不同的编程需求。了解这些循环用法,并根据具体情况选择合适的循环类型,将帮助更高效地编写代码。无论是遍历列表元素、重复执行操作、跳过特定情况,还是在满足条件时退出循环,Python都有相应的解决方案。希望本文对大家理解和使用Python中的循环提供了帮助。


Python学习路线

在这里插入图片描述

更多资料获取

📚 个人网站:ipengtao.com

如果还想要领取更多更丰富的资料,可以点击文章下方名片,回复【优质资料】,即可获取 全方位学习资料包。

在这里插入图片描述
点击文章下方链接卡片,回复【优质资料】,可直接领取资料大礼包。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1401639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL下对[表]的操作数据类型

目录 表的操作 创建表&#xff1a; 查看表结构&#xff1a; 修改表&#xff1a; 删除表&#xff1a; 数据类型 数据类型分类&#xff1a; 数值类型&#xff1a; tinyint类型越界测试&#xff1a; bit类型&#xff1a; 小数类型&#xff1a; 字符串类型&#xff1a; …

JAVA中 Lambda 方法引用 算法

算法和数据结构 一、Arrays类 接下来学习的类叫做Arrays&#xff0c;其实Arrays并不是重点&#xff0c;但是我们通过Arrays这个类的学习有助于我们理解下一个知识点Lambda的学习。所以我们这里先学习Arrays&#xff0c;再通过Arrays来学习Lamdba这样学习会更丝滑一些_. 1.1 …

【Qt Quick 项目(第一集Qt Quick UI 项目项目创建)】

# Qt Quick 项目 到底什么是Qt Qml、什么是Qt Quick、QtQuick应用程序与Qt Widget程序有何区别,为了让读者在学习QML之前有一个整体认识,这里先介绍几个Quick项目。 01 Qt Quick UI 项目

Java8的Stream最佳实践

从这一篇文章开始&#xff0c;我们会由浅入深&#xff0c;全面的学习stream API的最佳实践&#xff08;结合我的使用经验&#xff09;&#xff0c;本想一篇写完&#xff0c;但写着写着发现需要写的内容太多了&#xff0c;所以分成一个系列慢慢来说。给大家分享我的经验的同时&a…

【博士每天一篇论文-技术综述】Machine Learning With Echo State Networks 一篇系统讲解ESN知识的五星文章

阅读时间&#xff1a;2023-11-21 1 介绍 年份&#xff1a;2020 作者&#xff1a;徐元超&#xff0c;曼尼托巴大学 期刊&#xff1a; 无 引用量&#xff1a;无 这篇文章是一篇技术报告&#xff0c;从递归神经网络&#xff08;RNNs&#xff09;引入到回声状态网络&#xff08;…

JavaScript基础之JavaScript简介(什么是JavaScript?)

JavaScript简介 JavaScript&#xff0c;通常被缩写为JS&#xff0c;是一种轻量级、跨平台、单线程、解释编译的编程语言。它也被称为网页脚本语言。它以网页开发而闻名&#xff0c;许多非浏览器环境也使用它。 JavaScript是一种弱类型语言。JavaScript可用于客户端开发以及服…

shell编程学习

shell编程学习 变量的高级用法变量替换字符串处理获取字符索引获取子串长度抽取字符串中的子串 案例测试 变量的高级用法 变量替换 ##变量替换&#xff08;贪婪&#xff0c;从前往后匹配&#xff0c;匹配到进行删除&#xff09; test1I love you,you love me echo $test1 han…

Java研学-spring框架(一)

一 概述 1 介绍 Spring框架是一个开源的Java EE应用程序框架&#xff0c;旨在简化Java企业级应用的开发难度和开发周期&#xff0c;主要通过控制反转&#xff08;IoC&#xff09;和面向切面编程&#xff08;AOP&#xff09;等技术实现。   容器&#xff08;Container&#x…

【CVE-2022-22733漏洞复现】

Apache ShardingSphere ElasticJob-UI漏洞 漏洞编号:CVE-2022-22733 文档说明 本文作者:SwBack 创作时间:2024/1/21 19:19:19 知乎:https://www.zhihu.com/people/back-88-87 CSDN:https://blog.csdn.net/qq_30817059 百度搜索: SwBack漏洞描述 Apache ShardingSphere Elast…

Python基础第二篇(Python基础语法)

文章目录 一、字面量二、注释三、变量四、数据类型五、数据类型转换六、标识符七、运算符八、字符串扩展内容&#xff08;1&#xff09;字符串定义&#xff08;2&#xff09;字符串拼接、&#xff08;3&#xff09;字符串格式化&#xff08;4&#xff09;字符串格式化的精度控制…

上位机图像处理和嵌入式模块部署(开篇)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 图像处理是现实生活当中很实用的一门技术。工业上一般采用的是机器视觉&#xff0c;以传统算法和光源控制为主&#xff0c;部分采用了深度学习技术…

MySQL的下载、安装、配置、登录,配置(图+文)(超级详细)

一、 软件的下载 1. 下载地址 官网&#xff1a; https://www.mysql.com 2. 打开官网&#xff0c;点击 DOWNLOADS 然后&#xff0c;点击 MySQL Community(GPL) Downloads 3. 点击 MySQL Community Server 4. 在 General Availability(GA) Releases 中选择适合的版本 …

【C语言基础篇】结构控制(下)转向语句break、continue、goto、return

文章目录 一、break语句 1. break在 while 循环中 2. break在 for 循环中 3. break在 do…while 循环中 4. break在 switch 语句中 5. break 总结 二、continue语句 1. continue在 while 循环中 2. continue在 for 循环中 3. continue在 do...while 循环中 4. con…

Kubernetes网络模型概述

Kubernetes网络模型设计的一个基础原则是&#xff1a;每个Pod都拥有一个独立的IP地址&#xff0c;并假定所有Pod都在一个可以直接连通的、扁平的网络空间中。所以不管这些Pod是否运行在同一个Node中&#xff0c;都要求它们可以直接通过对方的IP进行访问。由于Kubernetes的网络模…

C++泛型编程-类模板的项目实战实现基础的Vector的编写

请设计一个数组模板类&#xff08; Vector &#xff09;&#xff0c;完成对 int 、 char 、 float 、 double 以 及任意的自定义类等类型元素进行管理。 需求 a. 实现构造函数 b. 实现拷贝构造函数 c. 实现 cout << 操作 d. 实现下标访问符 [] 的重载操作 …

中仕教育:应届生可以考军队文职吗?有什么要求?

军队文职&#xff0c;涵盖了各个领域&#xff0c;包括行政、管理、人力资源、后勤等工作岗位&#xff0c;作为国家公务员的一种类型&#xff0c;军队文职同样享有稳定的工作和待遇。 虽然军队文职对所有符合条件的人开放&#xff0c;但对于应届生来说&#xff0c;还需满足以下…

企业Oracle1 数据库管理

Oracle的安装 一、基础表的创建 1.1 切换到scott用户 用sys 账户 登录 解锁scott账户 alter user scott account unlock;conn scott/tiger;发现并不存在scott账户&#xff0c;自己创建一个&#xff1f; 查找资料后发现&#xff0c;scott用户的脚本需要自己执行一下 C:\ap…

Spring:StopWatch

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、输出总耗时 二、输出所有任务的耗时和占比 总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、输出总耗时 public void stopWatc…

【web 编程技术】基于 B/S 架构的电商平台(java web)

基于 B/S 架构的电商平台&#xff08;java web&#xff09; 课程设计实验目的课程设计实验环境课程设计功能概述课程设计需求分析三层架构图功能列表系统用例图系统活动图-用户端需求分析 课程设计详细设计实现过程数据库BaseServlet 的实现商品显示模块-分页显示所有商品、查看…

【网站项目】基于SSM的274办公自动化管理系统

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…