ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

008.Python循环for循环

2020-02-05 22:56:38  阅读:238  来源: 互联网

标签:node10 Python py python 循环 print 008 root python3


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
他

标签:node10,Python,py,python,循环,print,008,root,python3
来源: https://www.cnblogs.com/zyxnhr/p/12267100.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有