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

008.Python循环for循环的更多相关文章

  1. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  2. python基础(六)循环

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进来表示程序 ...

  3. Python之 for循环\while循环

    list或tuple可以表示一个有序集合.如果我们想依次访问一个list中的每一个元素呢?比如 list: L = ['Adam', 'Lisa', 'Bart'] print L[0] print ...

  4. Python进阶06 循环对象

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 这一讲的主要目的是为了大家在读Python程序的时候对循环对象有一个基本概念. 循 ...

  5. Python进阶05 循环设计

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在"循环"一节,我们已经讨论了Python基本的循环语法.这一 ...

  6. python 循环、循环设计、循环对象

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 1.循环 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进 ...

  7. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

  8. [Python笔记][第三章Python选择与循环]

    1月28日学习 Python选择与循环 选择结构 多分枝选择结构 if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 ... else : 语句块 ...

  9. 一步一步学python(五) -条件 循环和其他语句

    1.print 使用逗号输出 - 打印多个表达式也是可行的,但要用逗号隔开 >>> print 'chentongxin',23 SyntaxError: invalid synta ...

  10. Python数据结构与循环语句

    # Python数据结构与循环语句:   首先编程是一项技能,类似跑步,期初不必在意细节,能使用起来就行,等学的游刃有余了再回过头来关注细节问题也不迟.  关于买书: 学会python之后,才需要买书 ...

随机推荐

  1. ON DUPLICATE KEY UPDATE作用

    ON DUPLICATE KEY UPDATE作用 先声明一点,ON DUPLICATE KEY UPDATE为Mysql特有语法,这是个坑 语句的作用,当insert已经存在的记录时,执行Updat ...

  2. 【OO第二次作业】关于Homework2性能分的思考

    为了获得更多的性能分,个人目前想到了以下注意点: Homework2与Homework1还是有不少相似之处的,因此在上次作业中的这些性能提升点,此次依然有效-- 表达式之间不含空格 如果存在正项,则表 ...

  3. 看过这篇剖析,你还不懂 Go sync.Map 吗?

    hi, 大家好,我是 haohongfan. 本篇文章会从使用方式和原码角度剖析 sync.Map.不过不管是日常开发还是开源项目中,好像 sync.Map 并没有得到很好的利用,大家还是习惯使用 M ...

  4. C/C++中的字符串相关姿势

    这是我在<程序设计实习>课程上作的pre,目标是对C/C++中字符串的相关内容作一个尽量完整的介绍.(对于OIer可能不太实用) 课件链接: https://files.cnblogs.c ...

  5. Go-30-main包

    main包 package main import ( "fmt" "kubeflow-tool/main/cmd" "os" ) func ...

  6. 11. Grub 介绍

    Grub 全称:Grand Unified Bootloader grub引导也分为两个阶段stage1阶段和stage2阶段(有些较新的grub又定义了stage1.5阶段). 一般配置文件:/bo ...

  7. java中的|=符号

    今天看mybaits源码的时候,发现了这个特殊的符号用法,|=. for (ParameterMapping pm : boundSql.getParameterMappings()) { Strin ...

  8. Erda MSP 系列 - 以服务观测为中心的 APM 系统设计:开篇词

    本文首发于 Erda 技术团队知乎账号,更多技术文章可点击 Erda 技术团队 作者:刘浩杨,端点科技 PaaS 技术专家,微服务治理和监控平台负责人,Apache SkyWalking PMC成员 ...

  9. 整合Atomikos、Quartz、Postgresql的踩坑日记

    前言 由于业务需要,在单体Spring Boot项目中需要引入分布式事务,来保证单体应用连接的多个数据源的事务统一. 而说到分布式事务,小伙伴们肯定会想到阿里的Seata,阿里Seata强大的AT模式 ...

  10. Intel汇编程序设计-整数算术指令(中)

    7.3  移位和循环移位的应用 7.3.1  多双字移位 要对扩展精度整数(长整数)进行移位操作,可把它划分为字节数组.字数组或双字数组,然后再对该数组进行移位操作.在内存中存储数字时通常采用的方式是 ...