1. 程式人生 > >python第十二課——for in循環

python第十二課——for in循環

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循環