python7学习笔记-循环、迭代、pass

九九乘法表-while循环

right = 1
while right <= 9:left = 1while left <= right:print(f'{left}x{right}={left * right}',end='\t')left += 1print()right += 1
#=============================================
#效果:
#1x1=1	
#1x2=2	2x2=4	
#1x3=3	2x3=6	3x3=9	
#1x4=4	2x4=8	3x4=12	4x4=16	
#1x5=5	2x5=10	3x5=15	4x5=20	5x5=25	
#1x6=6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=36	
#1x7=7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49	
#1x8=8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64	
#1x9=9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81	

for循环

for 变量 in 可迭代对象:

        循环体

enumerate(iterable,start = 0)

  • 枚举
  • 返回一个迭代器对象。迭代它会得到一个个元组,每个元组是由索引和对应元素构成。
  • start决定了索引的起始值。
string = 'dfadg'
enu = enumerate(string) # 返回一个迭代器
print(list(enu))
#输出结果
#[(0, 'd'), (1, 'f'), (2, 'a'), (3, 'd'), (4, 'g')]str2 = '🐱🐱🐕🐕'
for i in enumerate(str2):print(i,end=' ')
#输出结果
#(0, '🐱') (1, '🐱') (2, '🐕') (3, '🐕') 

for...in...else...

lst = [4, 3, 8, 532, 1]
for i in lst:print(i,end=' ')if i > 5:breakelse:print('🐱',end=' ')
#输出结果
#4 🐱 3 🐱 8 

break

  • 终止所在的循环

continue

  • 跳过当前这次循环,继续到下一次循环
  • for i in range(1, 11):if i % 2 == 0:continue # 若if成立,则直接跳到forelse:print(i,end=' ')
    #输出结果
    #1 3 5 7 9 

列表推导式

  • 格式:语句 for 子句
  • 列表推导式
lst = [x ** 2 for x in range(8)]
print(lst)
#[0, 1, 4, 9]

迭代问题

  • 列表迭代问题

        列表内存自动管理:Python的列表会自动管理内容,当对列表插入元素或者删除元素时,列表会移动其中的元素以保证元素之间是连续的。

lst1 = [1, 2, 3]for i in lst1:lst1.remove(i)print(lst1)# [2],remove过程原列表的下标改变了lst2 = ['a', 'b', 'd', 'f']
new_lst = lst2.copy()for i in new_lst:lst2.remove(i)
print(lst2)#[]

字典、集合迭代问题

  • 字典、集合在迭代时,不允许改变元数据的size
#字典迭代
info_Magic = {'Academy' : 'Gryffindor','name' : 'HarryPotter','grade' : 1}
#for循环输出键
for k in info_Magic:print(k, end=' ') #Academy name grade
print()#会报错
# for k in info_Magic:
#     del info_Magic[k]
#     print(info_Magic) #RuntimeError: dictionary changed size during iterationnew_d = info_Magic.copy()
for k in new_d:del info_Magic[k]print(info_Magic)
'''
for循环输出结果:
{'name': 'HarryPotter', 'grade': 1}
{'grade': 1}
{}
'''

pass语句

  • pass是一个关键字,表示一个空语句,当它被执行时,不做任何操作,通常用占位符,用在当语法上需要语句但实际不需要执行任何操作的情况下使用。

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

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

相关文章

第三方Express 路由和路由中间件

文章目录 1、Express 应用使用回调函数的参数&#xff1a; request 和 response 对象来处理请求和响应的数据。2、Express路由1.路由方法2.路由路径3.路由处理程序 3. 模块化路由4. Express中间件1.中间件简介2.中间件分类3.自定义中间件 1、Express 应用使用回调函数的参数&am…

给UE5优化一丢丢编辑器性能

背后的原理 先看FActorIterator的定义 /*** Actor iterator* Note that when Playing In Editor, this will find actors only in CurrentWorld*/ class FActorIterator : public TActorIteratorBase<FActorIterator> {//..... }找到基类TActorIteratorBase /*** Temp…

小程序跳转到本页面并传参

const pages getCurrentPages(); const currentPage pages[pages.length - 1]; // 当前页面路由 const route currentPage.route; // 当前页面参数 const options currentPage.options;// 构建新的 URL 参数 const newOptions {...options,// newParam: newValue }; // 你…

【机器学习】支持向量机SVR、SVC分析简明教程

关于使用SVM进行回归分析的介绍很少&#xff0c;在这里&#xff0c;我们讨论一下SVR的理论知识&#xff0c;并对该方法有一个简明的理解。 1. SVC简单介绍 SVR全称是support vector regression&#xff0c;是SVM&#xff08;支持向量机support vector machine&#xff09;对回…

pytest+allure生成报告显示loading和404

pytestallure执行测试脚本后&#xff0c;通常会在电脑的磁盘上建立一个临时文件夹&#xff0c;里面存放allure测试报告&#xff0c;但是这个测试报告index.html文件单独去打开&#xff0c;却显示loading和404, 这个时候就要用一些办法来解决这个报告显示的问题了。 用命令产生…

分布式事务调研

目录 需求背景&#xff1a; 本地事务 分布式基本理论 1、CAP 定理 2、BASE理论 分布式事务方案 #2PC #1. 运行过程 #1.1 准备阶段 #1.2 提交阶段 #2. 存在的问题 #2.1 同步阻塞 #2.2 单点问题 #2.3 数据不一致 #2.4 太过保守 3PC #本地消息表 TCC TCC原理 …

鱼眼相机模型-MEI

参考文献&#xff1a; Single View Point Omnidirectional Camera Calibration from Planar Grids 1. 相机模型如下&#xff1a; // 相机坐标系下的点投影到畸变图像// 输入&#xff1a;相机坐标系点坐标cam 输出&#xff1a; 畸变图像素点坐标disPtvoid FisheyeCamAdapter::…

【Java基础面试题003】Java的JIT | AOT是什么?

回答重点 Java中的JIT编译器&#xff08;Just-In-Time&#xff0c;即时编译&#xff09;是一种在程序运行时将字节码转为机器码的技术。 因为这种转换是在程序运行时即时进行的&#xff0c;因此得名"Just-In-Time"。 JIT监测到热点代码&#xff08;频繁执行的代码段…

使用 `aircrack-ng`扫描、获取握手包

使用 aircrack-ng 工具集来扫描 5GHz WiFi 网络的过程与扫描 2.4GHz 网络类似&#xff0c;但需要注意一些特定的配置和命令。以下是一个详细的步骤指南&#xff0c;帮助你在 5GHz 频段上扫描 WiFi 网络并捕获握手包。 ### 前提条件 1. **操作系统**&#xff1a;通常在 Linux 系…

[GKCTF 2021]签到

[GKCTF 2021]签到 wireshark跟踪http流&#xff0c;基本编解码&#xff0c;倒叙&#xff0c;栅栏密码 找到cat /f14g 把包里返回的字符串先hex解码&#xff0c;再base64解码&#xff0c;看到一个时间是倒叙&#xff0c;不含flag 继续往下面翻&#xff0c;可以看到cat%2Ff14g%7…

【Linux】【字符设备驱动】深入解析

Linux字符设备驱动程序用于控制不支持随机访问的硬件设备&#xff0c;如串行端口、打印机、调制解调器等。这类设备通常以字符流的形式与用户空间程序进行交互。本节将深入探讨字符设备驱动的设计原理、实现细节及其与内核其他组件的交互。 1. 引言 字符设备驱动程序是Linux内…

【论文笔记】Tool Learning with Foundation Models 论文笔记

Tool Learning with Foundation Models 论文笔记 文章目录 Tool Learning with Foundation Models 论文笔记摘要背景&#xff1a;工作&#xff1a; 引言工具学习的发展本文工作&#xff08;大纲&目录&#xff09; 背景2.1 工具使用的认知起源2.2 工具分类&#xff1a;用户界…

电阻可靠性的内容

一、影响电阻可靠性的因素&#xff1a; 影响电阻可靠性的因素有温度系数、额定功率&#xff0c;最大工作电压、固有噪声和电压系数 &#xff08;一&#xff09;温度系数 电阻的温度系数表示当温度改变1摄氏度时&#xff0c;电阻阻值的相对变化&#xff0c;单位为ppm/℃.电阻温…

GitLab: You cannot create a branch with a SHA-1 or SHA-256 branch name

最近在迁移git库&#xff0c;把代码从gerrit迁移到gitlab&#xff0c;有几个库报错如下&#xff1a; GitLab: You cannot create a branch with a SHA-1 or SHA-256 branch name ! [remote rejected] refs/users/73/373/edit-95276/1 -> refs/users/73/373/edit-95276/1 (p…

Redis等Spring Cache 框架 实现基于注解的缓存功能

Spring Cache 框架 实现基于注解的缓存功能 底层 基于代理技术 一旦进入方法就进入代理对象 如果redis里有就直接返回 不会走方法 如果缓存没有数据 则通过反射走方法。 概念 缓存 相当于之前的事务处理 同步更改 只是提供了一层抽象 底层可以切换不同的缓存实现 EHCach…

C#中的工厂模式

在C#中&#xff0c;工厂模式&#xff08;Factory Pattern&#xff09; 是一种常见的设计模式&#xff0c;它属于创建型模式&#xff0c;主要用于定义一个用于创建对象的接口&#xff0c;让子类决定实例化哪一个类。通过使用工厂模式&#xff0c;客户端代码不需要直接实例化具体…

【Zookeeper】三,Zookeeper的安装与基本操作

文章目录 安装Zookeeper下载解压解压后的目录结构运行Zookeeper 基本操作 安装Zookeeper 下载 官网下载Zookeeper&#xff0c;会得到一个tar包&#xff0c;如&#xff1a;apache-zookeeper-3.8.4-bin.tar.gz 解压 tar -xvf apache-zookeeper-3.8.4-bin.tar.gz -C /usr/loca…

MyBatis(mybatis_plus)中TypeHandler的使用教程

MyBatis&#xff08;mybatis_plus&#xff09;中TypeHandler的使用教程 一.TypeHandler作用及其使用场景 在我们平常开发操作数据库时&#xff0c;查询、插入数据等操作行为&#xff0c;有时会报数据类型不匹配异常&#xff0c;就可以得知数据的类型是不唯一的必然是多种不同…

【Python TensorFlow】进阶指南(续篇四)

在前面的文章中&#xff0c;我们探讨了TensorFlow在实际应用中的多种高级技术和实践。本文将继续深入讨论一些更为专业的主题&#xff0c;包括模型压缩与量化、迁移学习、模型的动态调整与自适应训练策略、增强学习与深度强化学习&#xff0c;以及如何利用最新的硬件加速器&…

C++基础入门详细教程-6函数

6函数 6.1概述 作用&#xff1a;将一段经常使用的代码封装起来&#xff0c;减少重复代码 一个较大的程序&#xff0c;一般分为若干个程序块&#xff0c;每个模块实现特定的功能。 6.2函数的定义 函数的定义一般主要有5个步骤&#xff1a; 1.返回值类型 2.函数名 3.参数…