当前位置: 首页 > news >正文

Python语句: For 循环的详细讲解

今天就跟大家分享一下python的for循环的使用。
_

其实不管学习或者使用什么开发语言都会用到for和while循环,当然for循环是最多的,用于获取和生成批量数据,在开发中是很常用的。

一、for循环

for循环:循环就是重复做某件事,for循环是python提供第二种循环机制(第一种是while循环),理论上for循环能做的事情,while循环都可以做。

目的:之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁。

在Python中,for循环是一种迭代结构,用于遍历可迭代对象(如列表、元组、字符串、字典、集合等)中的元素。

for循环可以解决while循环的局限性。

二、for循环语法如下

for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典,其实也可以是tuple(),set()
代码一
代码二

# # for循环
# # 列表取值
# l = ['lsj','a','b']
# for x in l:
#     print(x)
lsj
a
b    ...

根据上面的for循环,它的运行步骤如下:
![](https://img-blog.csdnimg.cn/img_convert/a1e8cc68efe18d01bd6b6f5ba14382bf.png在这里插入图片描述

三、 for循环应用案例

获取数据:


# 简单版:for循环的实现方式
# l = ['lsj', 'b', 'c']  # 定义一个列表
# for x in l:
#     print(x)
# lsj
# b
# c# 复杂版:while循环的实现方式
l = ["lsj","b","c"]
i = 0
while i < 3:print(l[i])i += 1# lsj
# b
# c# 使用循环取出0-5的值
# 简单版:for循环的实现方式一、
# for count in range(6):  # range(6)会产生从0-5这6个数
#     print(count)
# 复杂版:while循环的实现方式
# count = 0
# while count < 6:
#     print(count)
#     count += 1

遍历字典:


# 简单版:for循环的实现方式
dic = {'name':'lsj','age':18,'gender':'male'}
for k in dic:  # for 循环默认取的是字典的key赋值给变量名kprint(k,dic[k])
# name lsj
# age 18
# gender malefor循环嵌套:```python#请用for循环嵌套的方式打印如下图形:
*****
*****
*****
for i in range(3):for j in range(5):print("*",end='')print()  # print()表示换行

#请用for循环嵌套的方式打印如下图形:***************for i in range(3): for j in range(5): print(“*”,end=‘’) print() # print()表示换行``

#### 遍历不等长多级容器:```pythoncontainer = [1,2,3,4,("嗄","234",{"马春配","李虎凌","刘子涛"})]
for i in container:# 判断当前元素是否是容器,如果是,进行二次遍历,如果不是,直接打印if isinstance(i,tuple):# ("嗄","234",{"马春配","李虎凌","刘子涛"})for j in i:# 判断当前元素是否是集合,如果是,进行三次遍历,如果不是,直接打印if isinstance(j,set):# j = {"马春配","李虎凌","刘子涛"}for k in j :print(k)else:print(j)# 打印数据else:print(i)

遍历等长的容器:


container = [("马云","小马哥","马春配") , ["王健林","王思聪","王志国"],{"王宝强","马蓉","宋小宝"}]
for a,b,c in container:print(a,b,c)

五、for循环控制循环次数:range()

大家有没有发现,in后直接放一个数据类型来控制循环次数有局限性:

当循环次数过多时,数据类型包含值的格式需要伴随着增加

range功能介绍:


range(10)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 从0开始有头无尾range(1,10,1)  # 1 2 3 4 5 6 7 8 9 设定开始,结束,步长range(1,10,2)  # 1 3 5 7 9

range()的补充:python2与python3的不同之处。

_在python2中对range(10)的处理:一个篮子里面装有10个鸡蛋,空间较大。
_

_在python3中对range(10)的优化:一只可以下10个鸡蛋的母鸡,空间较小。
_

那么for和rang可以搭配么:for搭配range,可以按照索引取值,但是不推荐使用


l = ['lsj', 'a', 'c']  # len(l)
for i in range(len(l)):print(i, l[i])
for x in l:print(x)

六、for循环的跳出

for循环的跳出有以下几种:


for 临时变量 in 序列:重复执行的代码......
else:循环正常结束后要执行的代码

所谓else指的是循环正常结束后要执行的代码,即如果是break终止循环的情况。else下方缩进的代码将不执行。

for+break: 同while循环一样,只要运行到break就会立刻中止本层循环

for+else:同while循环一样,只要运行到break就立即终止本次循环

总结:for+break,for+continue,for+else的用法与while相同

下面举几个栗子:

打印乘法口诀表:

打印九九乘法表


# 打印九九乘法表for i in range(1,10):for j in range(1,i+1):print(f"{j} x {i}={i*j:>2}",end=' ')print()![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cc348ce6153e415cbcb96dbf003f7e53.jpeg#pic_center)_打印金字塔:_```python# 打印金字塔
# 分析
'''
#max_level=5*        # current_level=1,空格数=4,*号数=1***       # current_level=2,空格数=3,*号数=3*****      # current_level=3,空格数=2,*号数=5*******     # current_level=4,空格数=1,*号数=7*********    # current_level=5,空格数=0,*号数=9# 数学表达式
空格数=max_level-current_level
*号数=2*current_level-1
'''
# 实现:
max_level=5
for current_level in range(1,max_level+1):for i in range(max_level-current_level):print(' ',end='') #在一行中连续打印多个空格for j in range(2*current_level-1):print('*',end='') #在一行中连续打印多个空格print()

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码免费领取【保证100%免费】
在这里插入图片描述

我还整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:可在上方二维码获取↑

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。

在这里插入图片描述

在这里插入图片描述


http://www.mrgr.cn/news/35215.html

相关文章:

  • CCIE证书有用吗?CCIE含金量解读!
  • js实现多行文本控件textarea,根据文本内容自适应窗口全部显示
  • C++ SLT标准模板简介
  • iframe和父页面使用message通信,支持跨域
  • 负载均衡--TLS安全策略(四)
  • Java反射机制入门:解锁运行时类信息的秘密
  • 【解决虚拟机NAT联网】收藏这份教程就不用再辛苦找了
  • Avalonia的第三方UI库Material.Avalonia详细教程
  • Dify部署及初步测试
  • CSS 的元素显示模式简单学习
  • linux命令行快捷键
  • 【Linux】nginx连接前端项目
  • 排序----归并排序(非递归版)
  • 美团外卖霸王餐系统有哪些优势?如何选择?
  • 浙大数据结构:05-树9 Huffman Codes
  • 4款思维导图在线工具,新手速来!
  • chatGPT问答知识合集【五】
  • 【CPP11?】结合CPP发展历史来理解CPP11
  • 掌握Python办公自动化,轻松成为职场高效达人
  • 特殊类设计