zoukankan      html  css  js  c++  java
  • 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
    他
    复制代码
    学习记录,小白一枚
  • 相关阅读:
    笔试材料收集(二)——用OPENGL搞个冒泡排序,原创_!
    cocos2dx andoroid切换后台后资源重载
    ipa命令行打包命令
    SceneManager
    ios上遇到过的问题集及解决方法(1)
    google inapp billing
    Unity Editor学习IHasCustomMenu
    cocos2dx如果更好地使用第三库
    cocos2dhtml环境布暑
    ios中,常用的一些调试命令
  • 原文地址:https://www.cnblogs.com/wangsirde0428/p/14322361.html
Copyright © 2011-2022 走看看