python第十二課——for in循環
阿新 • • 發佈:2019-02-24
bre else con 格式 lse str 總結 abcdefg %s
1.for...in循環:
有兩個使用場景:
場景一:for in和range對象配合使用
range對象的引入講解
格式:range([start,end,step]):
特點:索引滿足含頭不含尾的特點-->閉開區間
以上三個參數:start、end、step的含義和str切片一樣理解
惰性序列對象:
將多個數據存入到容器對象中,直接通過print()函數打印其變量名,看到的數據內部信息不明確;
案例一:
r=range(1,11) #r=range(11) # range對象可以理解為惰性序列對象(直接打印變量名看不清裏面具體內容) print(r,type(r),len(r))
range對象配合for in循環使用:
遍歷的思想:
遍歷:經過、經歷、從頭到尾走一遍
for i in r: print(i,end=‘ ‘) print() for i in range(0,10,2): print(i,end=‘ ‘) print()
range為惰性序列對象,那麽我們可以將其轉換為非惰性序列對象!!
例如:
將range(1,6)對象轉換為list對象
代碼如下:
lt = list(range(1,6)) print(lt,type(lt),len(lt)) #遍歷lt對象 for j in lt: print(j)
場景二:for in和容器對象(str、list、tuple、set、dict)配合使用
方式一:通過鍵找到值
for k in dic: print(k + ‘-->‘ + str(dic.get(k)))
方式二:直接先得到一個dict_items對象(此對象中有key和value並且存入到一個元祖中保存,對象每個元素都是元祖)
its = dic.items() print(its,type(its),len(its)) for k,v in dic.items(): print(k,v)
總結:for in循環也可以和break&continue,以及else語句一起配合使用
案例二:
演示for in 和容器對象(str,list,tuple,set,dict)配合使用
lt=[‘aa‘,‘bb‘,‘cc‘,‘dd‘]
案例體會:
for...in循環中沒有使用索引的思想,而while循環中一般會用到索引去訪問容器中的元素內容
#遍歷lt對象,打印內容到控制臺 for i in lt: print(i) i+=‘r‘ print(lt) print() lt1=[‘aa‘,‘bb‘,‘cc‘,‘dd‘] i=0 while i<len(lt1): # print(lt[i]) lt1[i] += ‘r‘ i+=1 print(lt1) print() str1=‘abcdefg1234567‘ for i in str1: print(i,end=‘ ‘) print()
使用for in或者while循環遍歷dic對象,打印鍵值對的內容
dic={‘name‘:‘abc‘,‘age‘:25,‘sex‘:‘男‘} #方式一:通過鍵找到值 for k in dic: print(k+‘--->‘+str(dic.get(k)))
方式二:直接先得到一個dict_items對象
(此對象中有key和value並且存入到一個元祖中保存,
對象每個元素都是元祖)
its=dic.items() print(its,type(its),len(its)) for k,v in dic.items(): print(k,v)
案例三:
演示for in循環配合break&continue和else語句配合使用
需求:遍歷1~100的偶數,打印個數和總和-->使用for in實現
count=0 sum1=0 for i in range(1,101): if i%2 ==1: continue count+=1 sum1+=i # print(i) # print(‘偶數的個數為:%d‘ %count) # print(‘偶數的總和為:%d‘ %sum1) for i in range(1,11): if i==4: # break continue print(i) else: print(‘如果沒有碰到牛逼的break,我就會被執行...‘)
python第十二課——for in循環