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鍵,可以使用"\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'}]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM