zoukankan      html  css  js  c++  java
  • Python for循环语句

    for循环

    1.for循环可以遍历任意序列,例如:一个字符串,一个列表

    • 遍历,就是查看序列中的每个元素(for循环、遍历、迭代,是自动播放所有序列当中的元素)
    • 可迭代的对象可以使用for循环进行遍历,例如:字符串、列表、字典、元组和集合
    • for循环里面有一个隐藏的机制,就是自动执行index+1,直到遍历完整个序列

    2.列表的迭代

    #for循环中,i为变量,用来接收序列中的元素
    list=['蓝天','白云','大地']
    
    for i in list:
        print(i)
    
    输出结果:
    蓝天
    白云
    大地

    3.使用列表的切片,对列表中的字符串进行遍历

    #先使用切片将列表中的第一个元素取出,然后再对其进行遍历取值
    list=['python','good','very']
    for i in list[0]:
        print(i)
    
    输出结果:
    p
    y
    t
    h
    o
    n

    4.使用for循环遍历字典

    • for循环遍历字典,默认是遍历字典的所有key值
    • 如果想要取字典的value值,需要先取出所有的value值后,进行遍历取值,或者遍历key,打印的时候打印value值
    • 也可以使用for循环取字典的键值对
    dict={"name":"小花","age":18,"性别":""}
    #默认遍历字典中的key值
    for i in dict:
        print(i)
    
    输出结果:
    name
    age
    性别
    
    #直接遍历字典中的key值,打印出对应的value值
    for j in dict:
        print(dict[j])
    
    输出结果:
    小花
    18#直接遍历字典中的value值
    for m in dict.values():
        print(m)
    
    输出结果:
    小花
    18#取字典中的键值对
    
    for h in dict.items():
        print(h)
    
    for key,value in dict.items():
        print('{} 的值为 {}'.format(key,value))
    
    输出结果:
    ('name', '小花')
    ('age', 18)
    ('性别', '')
    name 的值为 小花
    age 的值为 18
    性别 的值为 女

    5.for循环的嵌套:主要用来自动化测试中的用例获取

    (九九乘法表、冒泡排序的实现)

    range()函数  用在你想重复执行多少次计算的时候,没有现存的列表可以循环,就可以使用range(),返回的是一个可迭代对象

    range(1,10)  表示从1开始到10结束,但不包括10.    输出结果为:0,1,2,3,4,5,6,7,8,9

    range(1,10,2)  表示从1开始到10结束,但不包括10,步长为2    输出结果为:1,3,5,7,9

    #如果不传起始值,默认是从0开始,如果设置起始值,则就从设置的起始值开始
    for i in range(10):
        print(i,end=' ')  #输出结果添加位置参数,返回结果之间用空格连接
    
    输出结果:
    0 1 2 3 4 5 6 7 8 9 

    6.for循环嵌套实例

    总结:for循环的嵌套,外层取一个值,内层取全部值,然后再返回外层继续变量,直到遍历完所有值。(外层走一个,内层走一圈)

    list=[1,2,3,4,5]
    list2=["A","B","C","D","E"]
    
    for i in list:
        print(i,end=' ')
        for j in list2:
            print(j,end=' ')
    
    输出结果:
    1 A B C D E 2 A B C D E 3 A B C D E 4 A B C D E 5 A B C D E 

    使用for循环实现九九乘法表

    使用for打印九九乘法表
    提示:
    
    输出九九乘法表,格式如下:(每项数据之间空一个Tab键,可以使用"	"1 * 1 = 1
    1 * 2 = 2    2 * 2 = 4
    1 * 3 = 3    2 * 3 = 6      3 * 3 = 9
    1 * 4 = 4    2 * 4 = 8      3 * 4 = 12    4 * 4 = 16
    1 * 5 = 5    2 * 5 = 10    3 * 5 = 15    4 * 5 = 20    5 * 5 = 25
    1 * 6 = 6    2 * 6 = 12    3 * 6 = 18    4 * 6 = 24    5 * 6 = 30    6 * 6 = 36
    1 * 7 = 7    2 * 7 = 14    3 * 7 = 21    4 * 7 = 28    5 * 7 = 35    6 * 7 = 42    7 * 7 = 49
    1 * 8 = 8    2 * 8 = 16    3 * 8 = 24    4 * 8 = 32    5 * 8 = 40    6 * 8 = 48    7 * 8 = 56    8 * 8 = 64
    1 * 9 = 9    2 * 9 = 18    3 * 9 = 27    4 * 9 = 36    5 * 9 = 45    6 * 9 = 54    7 * 9 = 63    8 * 9 = 72    9 * 9 = 81
    
    '''
    '''
    for循环的嵌套使用
    外层跑一个里层跑一圈
    python range() 函数可创建一个整数列表,一般用在 for 循环中
    使用方法:range(start, stop,step)
    参数说明:
    start:计数从start开始,默认为从0开始,eg:range(5)--->等价于range(0,5)
    stop:计数到stop计数,但是不包含stop。eg:range(0,5)-->[0,1,2,3,4]
    step:步长,默认为1,eg:range(5)--->等价于range(0,5,1)
    
    生成一个1到9的整数列表 range(1,10)
    当i=1时,j=1
    当i=2时,j=1,2
    当i=3时,j=1,2,3
    当i=4时,j=1,2,3,4
    ....依次类推
    当i=n时,j=n  ,所以j的取值范围由i的取值决定。
    所以j的取值范围为range(1,i+1)
    依次进行遍历,生成如下的乘法口诀表
    '''
    
    for i in range(1,10):
        for j in range(1,i+1):
            print("{}*{}={}".format(j,i,i*j),end='	')
        #此处的print()输出每执行完一轮后,打印计算结果到控制台
        print()
    
    输出结果:
    1*1=1    
    1*2=2    2*2=4    
    1*3=3    2*3=6    3*3=9    
    1*4=4    2*4=8    3*4=12    4*4=16    
    1*5=5    2*5=10    3*5=15    4*5=20    5*5=25    
    1*6=6    2*6=12    3*6=18    4*6=24    5*6=30    6*6=36    
    1*7=7    2*7=14    3*7=21    4*7=28    5*7=35    6*7=42    7*7=49    
    1*8=8    2*8=16    3*8=24    4*8=32    5*8=40    6*8=48    7*8=56    8*8=64    
    1*9=9    2*9=18    3*9=27    4*9=36    5*9=45    6*9=54    7*9=63    8*9=72    9*9=81    

    重点:测试用例的获取

    cases = [
        ['case_id', 'case_title', 'url', 'data', 'excepted'],
        [1, '用例1', 'www.baudi.com', '001', 'ok'],
        [4, '用例4', 'www.baudi.com', '002', 'ok'],
        [2, '用例2', 'www.baudi.com', '002', 'ok'],
        [3, '用例3', 'www.baudi.com', '002', 'ok'],
        [5, '用例5', 'www.baudi.com', '002', 'ok'],
    ]
    '''使用i进行遍历cases里面的值,方法:for i in cases  使用i进行确定循环多少次,方法:for i in range(len(cases))'''
    
    #print(cases[0][4],cases[1][4])
    '''
    以此得到的结论为:
    这是读取到对应的第一行的数据         这是读取到对应第二行的数据
    cases[0][0]:cases[1][0]            cases[0][0]:cases[2][0]
    cases[0][1]:cases[1][1]            cases[0][1]:cases[2][1]
    cases[0][2]:cases[1][2]            cases[0][2]:cases[2][2]
    cases[0][3]:cases[1][3]            cases[0][3]:cases[2][3]
    cases[0][4]:cases[1][4]            cases[0][4]:cases[2][4]
    以上结论,发生变化的为:
    i 取值范围是(1,6)1,2,3,4,5 --->也就是cases[1],cases[2]...cases[5]取出的是列表中第二条到最后一条的数据
    j 取值范围是(0,5)0,1,2,3,4--->也就是cases[0][0]...cases[0][j],对应取出的是第一条数据中的每个值
    使用for循环嵌套,当i=1,j分别为0,1,2,3,4  对应的dic的对应关系就为,0,0--1,0 0,1--1,1  0,2--1,2...
    依次类推就得到了上面的对应关系。
    将对应关系存储到一个列表中, 然后再存储到一个空列表中,然后再遍历当前的列表,转换为字典的形式展示 
    '''
    
    li1 = []
    li2 = []
    for i in range(1, len(cases)):
        li=[]
        for j in range(0, len(cases) - 1):
            dic = (cases[0][j], cases[i][j])
            li.append(dic)
        li1.append(li)
    print(li1)
    for k in range(len(li1)):
        li2.append(dict(li1[k]))
    print(li2)
    
    输出结果:
    [[('case_id', 1), ('case_title', '用例1'), ('url', 'www.baudi.com'), ('data', '001'), ('excepted', 'ok')], [('case_id', 4), ('case_title', '用例4'), ('url', 'www.baudi.com'), ('data', '002'), ('excepted', 'ok')], [('case_id', 2), ('case_title', '用例2'), ('url', 'www.baudi.com'), ('data', '002'), ('excepted', 'ok')], [('case_id', 3), ('case_title', '用例3'), ('url', 'www.baudi.com'), ('data', '002'), ('excepted', 'ok')], [('case_id', 5), ('case_title', '用例5'), ('url', 'www.baudi.com'), ('data', '002'), ('excepted', 'ok')]]
    [{'case_id': 1, 'case_title': '用例1', 'url': 'www.baudi.com', 'data': '001', 'excepted': 'ok'}, {'case_id': 4, 'case_title': '用例4', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}, {'case_id': 2, 'case_title': '用例2', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}, {'case_id': 3, 'case_title': '用例3', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}, {'case_id': 5, 'case_title': '用例5', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}]
  • 相关阅读:
    第4章 栈和队列
    第3章 线性表
    第2章 算法
    第1章 数据结构绪论
    First Blood
    第52条:通过接口引用对象
    第51条:当心字符串连接的性能
    第50条:如果其他类型更合适,则尽量避免使用字符串
    第49条:基本类型优先于装箱基本类型
    第48条:如果需要精确的答案,请避免使用float和double
  • 原文地址:https://www.cnblogs.com/lucky1212/p/13681263.html
Copyright © 2011-2022 走看看