• 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
    springboot gateway 动态路由-01
    springboot远程debug调试
    springboot使用策略模式实现一个基本的促销
    springboot swagger2案例
    Tcp三次握手四次挥手个人学习
    springboot使用自定义注解和反射实现一个简单的支付
    java后端使用token处理表单重复提交
    基于redis实现未登录购物车
    java中的VO、PO、BO、DAO、POJO
  • 原文地址:https://www.cnblogs.com/zyxnhr/p/12267100.html
Copyright © 2020-2023  润新知