Python3.7知其然知其所以然-第十章 for循环
off999 2024-10-23 12:50 37 浏览 0 评论
for循环可以遍历任何序列的元素,如逐个输出字符串、列表、字典或元组等中的元素。它是一种迭代循环机制。通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次,并把访问到的元素供执行语句使用。
10.1 for语句
for循环从序列里逐个取出元素,并赋值给迭代变量,以供执行语句使用,语法结构为:
for 迭代变量in 遍历序列:
执行语句1
执行语句…
# 遍历字符串 s = "Welcome to Python." for c in s: print(c)
10.2 range()函数
可以使用内置range()函数,生成数列,并通过for循环取出元素。range(start,end,step=1)顾头不顾尾。
range(5): 默认step=1,start=0,生成数列内容为:[0, 1, 2, 3, 4];
range(1,5):指定start=1,end=5,默认step=1,生成数列内容为:[1, 2, 3, 4]
range(1,5,2):指定start=1,end=5,step=2,生成数列内容为: [1, 3]
# 用range()函数生成数列
for i in range(10):
print(i)
10.3 索引迭代
除了可通过遍历的方式获取元素外,还可以通过索引迭代的方式获取。用索引迭代时,先通过内置函数len()获取列表的长度,再逐个迭代。
# 数组内容 lang = ["Chinese", "English", "French"] # 获取数组长度 length = len(lang) for index in range(length): print(lang[index])
10.4 嵌套语句
for循环允许在一个循环体里面嵌入另一个循环。语法结构为:
for 迭代变量1 in 遍历序列1:
执行语句1
for 迭代变量3 in 遍历序列2:
执行语句2
执行语句…
# 字符串数组 s1 = ["1", "2", "3", "4", "5"] s2 = ['a', 'b', 'c', 'd', 'e'] for a in s1: print(a) for b in s2: print(b)
10.5 列表推导
Python中的for循环,除了可以遍历元素外,还可以进行列表推导。列表推导是一种简化代码的优美方法。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。语法结构为:
[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]
# 获取新列表 l1 = [data for data in range(1, 10)] print(l1) # 两个列表内容 v1 = [10, 20, 30] v2 = [30, 40, 50] # 获取交集 v = [num for num in v1 if num in v2] print(v) # 获取差集 v = [num for num in v1 if num not in v2] print(v)
10.6 跳出循环
Python语言的跳出循环与大多数语言一样,可以使用关键字continue跳出本次循环。
# continue语句 def f1(): for i in range(1, 10): if i % 2 == 0: continue # if条件为True的,跳过continue语句下的表达式。 print(i) f1() 或者break跳出整个for循环。 # break语句 def f1(): for i in range(1, 10): if i % 2 == 0: break # if条件为True的,跳过continue语句下的表达式。 print(i) f1() 另外还有return语法,会跳出for循环。 # return语句 def f1(): for i in range(1, 10): if i % 2 == 0: return i return 0 result = f1() print(result)
10.7 for-else语句
如果想在循环正常(非break 跳出)执行完,需要执行一些其他动作时,可在后面添加else语句。除了else外,还有一种特殊情况,就是会出现一个语句体什么也不做的情况,这时用pass语句进行占位。它是空语句,什么都不做,只要是保持程序结构的完整性。
正常退出循环,会执行else内容。
# range()生成数列
for i in range(1, 10):
if i % 2 == 0:
pass # pass不做任何操作
print(i)
else:
print("循环完成")
通过break非正常退出循环,不会执行else内容。
# range()生成数列
for i in range(1, 10):
if i % 2 == 0:
break
print(i)
else:
print("这里不执行")
相关推荐
- 一芯fc1178bc盘量产教程(一芯量产工具使用教程)
-
fc1178bc量产工具没有显示u盘拔下U盘,关闭量产工具,再插上U盘(先要确认卸载了安国的驱动,如果不能确认,运行LoadDriver.exe卸载),然后插上U盘,右键我的电脑---属性---硬件-...
- u盘内文件损坏怎么办(u盘内文件损坏怎么办解决)
-
以下是8种修复U盘文件损坏的方法:1.风险自担型:试图直接复制文件如果U盘的部分文件损坏,您可能可以使用此方法。请复制文件您能打开的所有文件,并尝试将它们粘贴到桌面或其他文件夹中。但是请...
- internet explorer怎么更新(22号天蝎座的运势)
-
1、打开IE浏览器。2、点击位于浏览器窗口的右上角的功能按钮。3、点击关于InternetExplorer。它位于下拉菜单的底部。4、勾选“自动安装新版本”复选框。它位于“关于Internet...
- snapseed(snapseed手机修图软件免费版)
-
Snapseed是一款非常流行的手机修图工具,下面是Snapseed工具最全教程:1.打开照片:打开Snapseed,点击左上角的“打开”按钮,选择需要修图的照片。2.自动增强:点击屏幕左下角的“...
- canon佳能打印机驱动下载(下载佳能打印机驱动程序)
-
打开开始菜单,选择运行。输入gpedit.msc,并确定。选择左边“windows设置”,右边鼠标左键双击“安全设置”。选择策略在选择安全选项再鼠标左键双击“设备:防止用户安装打印机驱动程序”。选择已...
- 爱思助手安卓版下载(爱思助手安卓版下载v1.21.03)
-
容易造成系统的崩溃在爱思助手中安装的软件都打不开或者发生闪退,很容易造成系统的崩溃需要重新刷机,所以一般不太推荐使用爱思助手。爱思助手上下载正版软件不需要AppleID,这是为了方便不会注册的用户,但...
-
- 微软拼音输入法app(微软拼音输入法App下载)
-
1、选择微软拼音输入法的图标,点击鼠标右键,出现菜单后选择设置选项。2、在高级里把美式键盘改为微软拼音输入法,然后点击右下角的属性按钮。3、点击逐键提示选项后,选择确定按钮,在后面出现对话框中点击应用即可。微软拼音输入法是一种基于语句的智能...
-
2025-12-31 04:51 off999
- win10怎么更新蓝牙驱动(win10 更新蓝牙驱动)
-
1.电脑桌面,右键【此电脑】,点击【属性】。2.然后点击【设备管理器】。3.然后展开【蓝牙】。4.然后鼠标右键【Bluetooth】,点击【更新驱动程序(P)】。5.选择一种方式更新驱动,更新完驱动就...
- 360免费升级正版win10(360 win10免费升级)
-
XP无法直接升级到Windows10. 能否升级还需要看硬件配置是否达标。如果达标可以通过以下方法来安装。 1、去系统网站下载win10镜像文件。 2、使用软碟通软件把镜像文件里面的gho....
- w7正版系统多少钱一年(正版win7旗舰版系统多少钱)
-
所有的正版windows系统都是需要付费购买的,包括笔记本电脑中预装好的正版系统,相应的费用也算入购机款中。你问的外行了。1、OEM系统是正版的,但是只能用于本品牌机上,也就是联想的WIN7系统(即O...
- excel2007破解版下载电脑版(excel 破解版)
-
现在excel2007可以说是免费软件,也可以说不是,因为现在在网上下载不了免费的2007年版excel软件,只能下载破译版的或用电信交钱下载。但有些电脑重装系统会带有2007年版的excel,这就是...
- comfast设置连接wifi(comfast路由器设置方法)
-
1,网关没有设置,2,DNS服务器没有设置,或者说设置成自动获取IP地址.具体不知道你是什么样的路由器,一般来说正常情况下网桥都是可以接收wifi信号的。所谓的网桥是使用有线网络连接到网桥设备上,然...
- windows电脑管家(windows电脑管家有用吗)
-
可以按照以下的方法步骤解决:1,在电脑左下角的搜索框内输入“电脑管家”,即可在电脑中匹配到该程序2,右键点击该程序图标,选择“打开文件位置”3,点击“打开文件位置”即可打开该程序在电脑中的地址窗口,右...
- hosts文件可以删除吗(hosts文件删除会自动生成吗)
-
我的回答:是需要权限。Linux系统的话,可以直接使用root账号去删除hosts文件。Windows系统的话,可以使用administrator管理员账号,以管理员权限去删除。Linux系统里面一般...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
