008.Python循环for循环
2024-09-08 06:10:49
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
他
最新文章
- JavaScript语言精粹--Function,类,this,对象
- BZOJ2908: 又是nand
- 在android 6.0(API 23)中,Google已经移除了移除了Apache HttpClient相关的类
- javascript中Date对象的应用——简易日历的实现
- SqlServer:此数据库处于单用户模式,导致数据库无法删除的处理
- php pdo错误:SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
- NeHe OpenGL教程 第十二课:显示列表
- MYSQL查询某字段中以逗号分隔的字符串的方法
- 真正解决ASP.NET每一个页面首次访问超级慢的问题 (转载)
- [转]让你提升命令行效率的 Bash 快捷键
- C# string LastIndexOf()
- git config找到下载的路径URL
- HDU--杭电--1501--Zipper--深搜、DP都好
- 基于注解的SpringMVC添加其他的Servlet、Filter以及Listener
- 关于vue的computed、filters、watch
- 环境准备阶段--搭建oracle linux 6.5系统
- 【学亮IT手记】mysql创建/查看/切换数据库
- Selenium Java Selection的使用
- 【转】结构struct 联合Union和枚举Enum的细节讨论
- MyBatis通用Mapper技巧
热门文章
- java面试-CountDownLatch、CyclicBarrier、Semaphore谈谈你的理解
- 软工案例分析之OJ
- resultMap结果集映射解决属性名和字段不一致问题
- Java 8 Optional
- java面试一日一题:讲下redo log
- 1148 Werewolf - Simple Version
- 908. Smallest Range I
- 限制pyqt5应用程序 只允许打开一次
- Android apk快速定位、灰色按钮克星--DroidSword
- (翻译)OpenDocument and Open XML security (OpenOffice.org and MS Office 2007)