Python3.7知其然知其所以然-第十章 for循环
off999 2024-10-23 12:50 30 浏览 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("这里不执行")
相关推荐
- 笔记本电脑开机就蓝屏(笔记本电脑开机就蓝屏了)
-
USB: 假如计算机处于开机的状态时USB接口上有U盘等存储设备,那么计算机就很有可能出现蓝屏现象,而且无法正常开机。因此,当计算机在开机时出现蓝屏状态时,我们首先要检查一下USB接口是否有接入U...
- 重置无线路由器(重置无线路由器密码)
-
1、将网线—路由器—电脑之间的线路连接好,启动电脑和路由器设备;2、启动设备后,打开浏览器,在地址栏中输入192.168.1.1进入无线路由器设置界面。(如进不了请翻看路由器底部铭牌或者是路由器使用说...
- win7系统整个界面变大(win7系统整个界面变大怎么办)
-
解决方法:1、首先查看当前系统的桌面图标情况,发现桌面图标突然变成了超大号的了。非常难看。2、右键点击桌面空白处,分别选择“查看”,“中等图标”。3、现在再查看桌面图标,发现已经恢复了。4、还有一种方...
- 电脑设置一切正常就是没声音
-
在电脑重置后没有声音的情况下,可能有以下几种可能的原因和解决方法:1.音频驱动程序问题:电脑重置后,可能需要重新安装或更新音频驱动程序。你可以尝试重新安装声卡驱动程序,可以从电脑或声卡制造商的官方网...
- eset nod32官网(esetnod32官网)
-
从系统性能上来说,卡巴斯基对系统的影响略大于ESETNOD32。具体表现就是,系统反应有所变慢,硬盘读写变频繁。从防护角度上来说的话……卡巴斯基的防护组件很多(商业版,免费版不在考虑范围之内),全开...
- 如何安装ie浏览器(怎么安装ie浏览器 win10)
-
方法一:一般系统自带的IE不能卸载和自己安装,如果是系统自带的可以还原系统或重装,也可用软件覆盖安装IE试试。使用系统自带的系统还原的方法:系统自带的系统还原:“开始”/“程序”/“附件”/“系统工具...
- 一键恢复桌面图标win7(一键恢复桌面图标win10)
-
Win7桌面图标设置: 1.在桌面上点击鼠标右键点击(其中查看菜单的子项是用来修改桌面图标的大小,如需修改图标大小只需在此菜单设置即可),选择“个性化”。2.在个性化设置窗口,单击左侧的更改桌面图...
- win7格式化电脑怎么弄
-
win7旧电脑想要格式化干净,具体方法如下:WIN7电脑利用鼠标点击我的电脑,找到C盘,鼠标右键选择格式化,这样就可以格式化,干干净净在Windows7中,您可以通过以下步骤来格式化计算机,而无需...
- 蓝牙适配器驱动安装教程(蓝牙适配器的驱动怎么安装)
-
1可以在官网或第三方软件平台下载相关驱动程序。2在安装驱动前,需要先确认你的蓝牙适配器的类型和型号,然后去对应的官网或者第三方软件平台下载最新的驱动。3安装驱动程序时需要注意,不能插拔蓝牙适配器...
- 手机上怎么设置wifi密码(手机上怎么设置wifi密码万能钥匙打不开)
-
已经安装和设置好的路由器,如果想用手机设置新的密码,可以按照下面的步骤进行操作: 1.首先,请确保你的手机连接到路由器的wifi网络,否则无法进行设置。 2.在路由器背面的铭牌中,查看路由器的登录...
- win7升win10会丢数据吗(win7升级win10会丢失数据吗)
-
你打开电脑那个控制面板,然后硬件硬盘管理。你看一下在那里应该是可以吧,d盘e盘f盘都拉出来的。只要您的那个硬盘没有坏。如果说这里面找不到的话你就拿到,那个,卖电脑那里重新装个系统就可以了。不会!安卓手...
- win10系统在哪里(win10系统在哪里看显卡配置)
-
在Windows10系统中,您可以使用以下步骤查看所有程序:1.点击“开始”按钮。2.在“搜索”框中键入“程序”,然后按“搜索”。3.在搜索结果页面中,您可以使用分类浏览程序列表,也可以按...
- win7内部版本7601怎么激活(win7内部版本7601激活必须今天激活)
-
没法激活,win7本身不具备激活7601的功能右击计算机--属性,拉倒最下面,会提示该系统未激活,然后点击激活,输入密钥就可以了,需要连接互联网。如果没有互联网,也可以电话激活。Windows7内部版...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- 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)
