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键,可以使用"\t") 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=\'\t\') #此处的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\'}]