008.Python循环for循环
for 循环
特指用于遍历容器类型数据,(遍历 循环 迭代 都是一个意思)就是把所有的数据一个一个拿出来的过程, while循环有局限性,不能遍历无序容器数据
setvar = {"a","b","c","d"} i = 0 length = len(setvar) while i<=length: print(setvar[i]) i+=1
set类型不支持
for循环语法
for i in 可迭代性数据: 把可迭代性数据中的值一个一个拿出啦赋值给i,到最后没有值可以拿了,循环终止.
修改上述脚本
setvar = {"a","b","c","d"} for i in setvar: print (i)
执行测试
[root@node10 python]# python3 test.py b a c d
遍历字符串
setvar = "窗前明月光" for i in setvar: print (i)
执行
[root@node10 python]# python3 test.py 窗 前 明 月 光
遍历列表
listvar = [1,2,3,4,5] for i in listvar: print (i)
执行
[root@node10 python]# python3 test.py 1 2 3 4 5
遍历元组
tuplevar = (6,7,8,7) for i in tuplevar: print(i)
执行
[root@node10 python]# python3 test.py 6 7 8 7
遍历字典
在遍历字典的时,默认遍历的是键,不是值
dictvar = {'a':1,'b':2,'c':3} for i in dictvar: print(i)
执行
[root@node10 python]# python3 test.py a b c
range的用法 返回一个可迭代的对象
range(start,end,step)
start 代表开始值
end 代表结束值 但是高位取不到,取到之前的一个值
step 步长
举例
# 只有一个参数的情况: for i in range(8): # 0 ~7 print(i) # 有2个参数的情况 for i in range(5,8): # 5 6 7 print(i) # 有3个参数逇情况 (正序) for i in range(1,11,3):# print(i) print("<==>")
# 倒序 for i in range(9,0,-1): print(i)
执行
[root@node10 python]# python3 test.py 0 1 2 3 4 5 6 7 5 6 7 1 4 7 10 <==> 9 8 7 6 5 4 3 2 1
容器,列表等的取值举例
# 二级容器 lst = [1,2,3,(4,5,6)] # res = lst[-1] # res = res[-1] # print(res,"<22>") print(lst[-1][-1],"容器") # 二级列表 listvar = [4,5,6,[77,88]] # 二级元组 tuplevar = (1,2,3,(5,6,7)) # 二级字典 dic = {"a":1,"b":{"c":1,"d":2}} print(dic["b"]["d"],"字典") # 二级集合 : 集合中的数据必须是可哈希的数据(不可变的数据) set1 = {1,2,3,4,(1,2,3)} # 四级容器 lst = [1,2,3,4, [5,6,(11,123,{"c":22,"f":33},34),7,8] ] # 找出33 res = lst[-1][2][-2]["f"] print(res,"四级容器")
执行
[root@node10 python]# python3 test.py 6 容器 2 字典 33 四级容器
变量的解包操作
a,b = 1,2 c,d = [5,6] print(a,b,c,d) 执行 [root@node10 python]# python3 test.py 1 2 5 6
遍历等长二级容器
里面的元素是容器数据,容器里面的元素个数相同
listvar =[ ["我","my"], ["你","you"],["他","he"]] # a,b = ["我","my"] # 变量的解包操作 for a,b in listvar: print(a,b)
执行
[root@node10 python]# python3 test.py 我 my 你 you 他 he
如果不等长
listvar =[ ["我","my"], ["你","you"],["他"]] # a,b = ["我","my"] # 变量的解包操作 for a in listvar: for b in a: print(b) #一个一个取
执行
[root@node10 python]# python3 test.py 我 my 你 you 他
作者:梦中泪
关于作者:云计算,linux,虚拟化,存储
---------------------------------------------------------------------------
个性签名:我以为我很颓废,今天我才知道,原来我早报废了。
如果觉得本篇文章最您有帮助,欢迎转载,且在文章页面明显位置给出原文链接!记得在右下角点个“推荐”,博主在此感谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 长文讲解 MCP 和案例实战
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· Android编译时动态插入代码原理与实践
· 使用TypeScript开发微信小程序(云开发)-入门篇
· 没几个人需要了解的JDK知识,我却花了3天时间研究
· 定时任务稳定性解决方案-healthchecks监控系统
· 在SqlSugar的开发框架中增加对低代码EAV模型(实体-属性-值)的WebAPI实现支持
· .NET Core中的配置Configuration实战