44. python的for循环嵌套

article/2025/9/24 4:25:55

44. python的for循环嵌套

文章目录

  • 44. python的for循环嵌套
    • 1. 什么是嵌套
    • 2. for循环中嵌套有if条件判断语句
      • 2.1 先创建一个奇数序列
      • 2.2 判断一个数是否能被7整除
      • 2.3 将2部分代码合二为一
    • 3. for循环中嵌套有for循环

1. 什么是嵌套

嵌套是指一个对象中包含另一个与它相似的对象。

俄罗斯套娃就是典型的嵌套,一个套娃里有多个外观相同,大小不同的娃。

在这里插入图片描述

【Python中的嵌套】

列表嵌套:列表的元素为列表。

if嵌套:if语句中嵌套有一个或多个if语句。

for循环嵌套:for循环语句中嵌套有一个或多个for循环语句或if语句。

2. for循环中嵌套有if条件判断语句

【实操练习】

选出1至100中能被7整除的奇数。

2.1 先创建一个奇数序列

【方法1】

# 用range函数建一个奇数序列,起始数字为1,结束数字为100,步长为2
r = range(1,100,2) # 用list函数查看创建的奇数序列
print(list(r))

【终端输出】

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]

观察输出结果,确实都为奇数。

【方法2】

# 用range函数建一个奇数序列,起始数字为1,结束数字为100,步长为2
r = range(1,100,2) # 用for循环查看创建的奇数序列
# 注意不要省略英文冒号
for i in r :# 注意有4个空格的缩进print(i)

【终端输出】

因为太占用篇幅,这里不展示输出内容。

2.2 判断一个数是否能被7整除

一个数如果能被7整除则余数为0。

a = 14# 除法
print(a/7)# 取余
print(a%7)

【终端输出】

2.0
0

/是Python的除号:因此a/7=14/7=2.0

%是Python的取余号:因此a%7=14%7=0

a = 14print(a%7)if a%7 == 0 :print("能被7整除!")
else:print("不能被7整除!")

【终端输出】

0
能被7整除!
a = 8print(a%7)if a%7 == 0 :print("能被7整除!")
else:print("不能被7整除!")

【终端输出】

1
不能被7整除!

2.3 将2部分代码合二为一

# 用range函数建一个奇数序列,起始数字为1,结束数字为100,步长为2
r = range(1,100,2) # 用for循环依次取出奇数序列中的数字
# 注意不要省略英文冒号
for i in r :# 注意有4个空格的缩进# 判断该数字除以7的余数是否等于0if i % 7 == 0 :# 如果能被7整除则输出该数字print(i)
print("程序结束!")

【终端输出】

7
21
35
49
63
77
91
程序结束!

【代码解析】

  1. for循环的作用是从range对象中依次取出数字并赋值给变量i。

  2. if语句就是for循环的循环体,是每一次循环都需要执行的语句。

  3. 它相对于for来说要有4个空格的缩进。

  4. print(i)是if判读语句要执行的代码,它相对于if来说要有4个空格的缩进。

在这里插入图片描述

  1. 因为这里只需要输出能被7整除的数字,因此这里就没有用else输出不能被7整除的数字。

  2. for 循环一定要注意print的位置。

print(i)相对于if有4个空格的缩进,说明它是if判断语句要执行的语句。

一整个if语句相对for循环语句有4个空格的缩进,它是for循环中要循环执行的代码。

print(“程序结束!”)与for是对齐的,没有缩进,说明它不是循环中的代码,只有循环结束时,才会执行该语句。

在编写循环语句的时候,大家一定要注意print的位置。

在这里插入图片描述

【思路解析】

初学者编写代码的时候,可以先将代码拆开。

拆成若干个我们能理解的代码块。

这样做的好处一是理清思路,二是能方便我们查找程序报错的原因。

3. for循环中嵌套有for循环

【实操练习】

输出注射过疫苗的同学的姓名。

# 新建一个列表存储注射过北京生物疫苗的同学
BJ = ["刘一","陈二"]
# 新建一个列表存储注射过科兴中维疫苗的同学
KX = ["张三","李四","王五"]
# 新建一个总列表存储注射过疫苗的同学
zong = [BJ, KX]# 从总列表中输出注射过疫苗的同学
for x in zong :print(x)
print("程序结束!")

【终端输出】

['刘一', '陈二']
['张三', '李四', '王五']
程序结束!

观察输出结果,发现输出的是两个列表,并没有直接输出同学的姓名。

那如何输出同学的姓名呢,我们只需再嵌套一个for循环即可。

# 新建一个列表存储注射过北京生物疫苗的同学
BJ = ["刘一","陈二"]
# 新建一个列表存储注射过科兴中维疫苗的同学
KX = ["张三","李四","王五"]
# 新建一个总列表存储注射过疫苗的同学
zong = [BJ, KX]for x in zong :for y in x :print(y)
print("程序结束!")

【终端输出】

刘一
陈二
张三
李四
王五
程序结束!

【for循环嵌套的执行流程】

在这里插入图片描述

【代码解析】

上述代码有2个for循环语句。

把第1个for循环语句叫做外循环。

把第2个for循环语句叫做内循环。

第1次外循环for x in zong :表示从zong列表中取值并赋值给变量x

zong列表里有2个元素,第1次外循环从zong列表中取出BJ赋值给变量x。

X=BJ

BJ = ["刘一","陈二"]

x取到值后代码继续往下执行。

内循环for y in x :表示从X中取值并赋值给变量y

即从列表BJ中依次取出元素并赋值给变量y。

第1次内循环y=刘一。

y取到值后,后面没有需要循环的代码,程序返回内循环,继续执行第2次内循环。

第2次内循环y=陈二。

此时,x中的值即列表BJ里的值已经取出完毕,内循环结束,程序返回外循环。

第2次外循环for x in zong :表示从zong列表中取值并赋值给变量x

此时,x取到的值是KX。

x=kx

KX = ["张三","李四","王五"]

又开始第2轮内循环。

第3次内循环y=张三。

第4次内循环y=李四。

第5次内循环y=王五。


http://chatgpt.dhexx.cn/article/HXNH12hG.shtml

相关文章

【C语言初学必看】一知半解的for循环嵌套for循环

🔥🚀前言目录: 初学C语言,常常遇到for循环中嵌套个for循环,初学者对于这种形式总是一知半解,这次我就整理了常见的for循环嵌套for循环的题目,我们一起争取一举拿下这类题。学废他们,…

双重for循环(嵌套for循环)

什么是双重循环? 双重循环:我们从字面上理解它,就是有两个循环套在一起 详细解释 双重for循环就是在一个for循环里在嵌套另一个for循环,即两个循环嵌套,还有多重循环嵌套的情况,但用的比较少&#xff0c…

DRN ---Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution

Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution 这篇博客主要介绍一下DRN,这是2020年最新出来超分辨重建文章。相信大家都阅读过很多超分辨率的文章,都知道超分辨率是一病态的问题。因为在现实生活中一张低分辨率图…

深度学习——Dual Regression Networks for Single Image Super-Resolution(DRN)

CVPR2020原论文:Closed-loop Matters: Dual Regression Networks forSingle Image Super-Resolution 开源代码(pytorch框架):https://github.com/guoyongcs/DRN 1.问题 1)低分辨率图像(Low Resulotion&…

DRN(CVPR2020)Dual Regression Networks

DRN: [ Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution ]DRN文论链接 SISR两个潜在的局限 学习LR到HR的隐射是一个病态问题,因为从HR下采样到LR,可以有无限个HR与LR对应。所以解空间太大,很难找到很好的…

DRN:Dilated Residual Networks(论文解读十四)

Title:Dilated Residual Networks From:CVPR2017 Note data:2019/06/12 Abstract:提出一种有利于分类任务的扩张残差网络DRN。 Code :pytorch 目录 DRN论文解读 1 Abstra 2 Introduction 3 Method Degridding …

浅谈深度神经网络 — ResNet(DRN)

Deep Residual Learning for Image Recognition 1. 思想 作者根据输入将层表示为学习残差函数。实验表明,残差网络更容易优化,并且能够通过增加相当的深度来提高准确率。 核心是解决了增加深度带来的副作用(退化问题)&#xff0…

深度学习——BRNN和DRNN

双向循环神经网络(Bidirectional RNN) 双向 RNN 模型可以让你在序列的某点处不仅可以获取之前的信息,还可以获取未来的信息 why we need BRNN? 这个网络有一个问题,在判断第三个词 Teddy(上图编号 1 所示&a…

DPRNN的学习

可以以非常简单的方式组织任意类型的RNN层(不重要,因为我这里会换成transformer)。 优点: 1.模型更小 2.性能更好(SI-SNR) 模型组成: 首先肯定是encoder和decoder了,一个声音的…

drndrn_seg代码

问题: drn文件 import pdb #pdb是 ThePythonDebugger 的缩写,为Python标准库的一个模块。pdb模块规定了一个Python程序交互式源代码调试器,支持在设置断点(包括条件断点),也支持源码级单步调试&#xff…

深度学习——DRD-Net

CVPR2020原论文:Detail-recovery Image Deraining via Context Aggregation Networks 开源代码( tensorflow框架):https://github.com/Dengsgithub/DRD-Net 1.主要工作:提出了双分支去雨网络。一个分支为基于压缩激励…

论文阅读:DRN: A Deep Reinforcement Learning Framework for News Recommendation

文章目录 摘要一、Introduction1、引入原因2、结构框架 二、相关工作1、新闻推荐算法2、推荐中的强化学习3、问题定义 三、实现原理1、模型框架2、特征构造3、深度强化推荐Deep Reinforcement Recommendation4、用户活跃度5、探索 四、实验结果1、数据集2、评价指标3、实验设置…

使用飞桨PaddlePaddle复现用于图像光源处理的深度重照明网络(DRN)

使用飞桨PaddlePaddle复现用于图像光源处理的深度重照明网络(DRN) 一、效果展示二、实现思路冠军模型:Wavelet Decomposed RelightNet (WDRN)经典模型:Norm-Relighting-U-Net (NRUNet)本次项目:Deep Relighting Networ…

弱监督学习框架 Detectron2/DRN-WSOD-pytorch 在服务器/windows上配置安装及使用

最近做弱监督学习研究,进行相关分析。发现Detectron2是一个不错的框架,其中也有model zoo相当多种类的预训练模型可以拿来直接用。但是安装配置使用中碰到了许多坑。跟各位小伙伴们分享。 推荐使用Linux Ubuntu16.04以上版本安装,虚拟机不太…

大话深度残差网络(DRN)ResNet网络原理

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。 一说起“深度学习”,自然就联想到它非常显著的特点“深、深、深”(重要的事说三遍),通过很深层次的网络实现…

DRN: A Deep Reinforcement Learning Framework for News Recommendation学习

欢迎转载,请注明出处https://blog.csdn.net/ZJKL_Silence/article/details/85798935。 本文提出了(基于深度Q-learning 的推荐框架)基于强化学习的推荐系统框架来解决三个问题: 1)首先,使用DQN网络来有效建…

【超分辨率】(DRN)Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution

论文名称:Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution 论文下载地址:https://arxiv.org/pdf/2003.07018.pdf 论文代码地址:https://github.com/guoyongcs/DRN 但是代码有问题 论文标题: 1…

CNN经典模型:深度残差网络(DRN)ResNet

一说起“深度学习”,自然就联想到它非常显著的特点“深、深、深”(重要的事说三遍),通过很深层次的网络实现准确率非常高的图像识别、语音识别等能力。因此,我们自然很容易就想到:深的网络一般会比浅的网络…

2021-11-11SR-DRN

闭环问题:单张图像超分辨的对偶回归网络(DRN) SR主要是要学习LR和HR之间的某种映射来重建相应的HR图像。 一、SISR存在的两个潜在的问题: 1.学习从LR到HR的映射是一个病态的逆问题。一张LR图像可以对应多张HR图像,也就是说存在…

DNN

文章目录 前向传播从感知机到神经网络DNN的基本结构DNN前向传播算法数学原理 DNN前向传播算法反向传播算法(BP)DNN反向传播算法要解决的问题 DNN反向传播算法的基本思路DNN反向传播算法过程损失函数和激活函数的选择均方差损失函数Sigmoid激活函数的问题使用交叉熵损失函数Sigm…