008.Python循环for循环

Posted 战五渣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
他

以上是关于008.Python循环for循环的主要内容,如果未能解决你的问题,请参考以下文章

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

AVKit – 视频片段仅循环 2 次

如何使用事件侦听器来加载动画片段的循环

在 Activity 内部,如何暂停 for 循环以调用片段,然后在按钮单击片段后恢复循环以重新开始

c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围

iOS,AVPlayer - 循环播放 MP3 片段