久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

給妹子講python-S01E13循環(huán)迭代高級技巧

 tology 2018-09-11

【要點(diǎn)搶先看】

1.range函數(shù):返回一系列連續(xù)增加的整數(shù)
2.zip函數(shù):并行迭代多個(gè)序列
3.enumerate函數(shù):同時(shí)產(chǎn)生偏移和元素

今天我們來講講三種循環(huán)迭代的常用技巧,,range,、zip和enumerate

內(nèi)置函數(shù)range:用來返回一系列連續(xù)增加的整數(shù)

這個(gè)函數(shù)產(chǎn)生的連續(xù)增加的整數(shù)序列,可以作為for循環(huán)迭代的索引

for x in range(5):
    print(x, end=',')

0,1,2,3,4,

range也可以用在任何需要整數(shù)列表的地方,。直接打印range函數(shù)的返回值是不能直接返回一個(gè)整數(shù)列表的,,如果將其作為一個(gè)參數(shù)傳給list函數(shù),則可以一次性顯示全部結(jié)果,。

print(range(5))

range(05)

-

print(list(range(-5,5)))

[-5-4-3-2-101234]

內(nèi)置函數(shù)range在for循環(huán)中是最常用的,,它提供了一種簡單的方法,重復(fù)特定次數(shù)的動作,。

當(dāng)然還可以做一些定制工作,,比如在遍歷的過程中跳過一些元素。例如每隔一個(gè)元素對字符串進(jìn)行遍歷:

S = 'abcdefghijklmn'
for i in range(0,len(S),2):
    print(S[i], end=',')

a,c,e,g,i,k,m,

當(dāng)然,,這只是一個(gè)示例,,我們之前提到過的分片表達(dá)式才是實(shí)現(xiàn)該功能的最簡單的方法,這個(gè)我們之前是介紹過的:

S = 'abcdefghijklmn'
for c in S[::2]:
    print(c, end=',')

a,c,e,g,i,k,m,

和文件迭代一樣,,這里range函數(shù)的優(yōu)點(diǎn)也是明顯的,,它沒有復(fù)制字符串,不會在python中再創(chuàng)建一個(gè)字符串列表,,這對于很大的字符串來說,,會節(jié)約不少空間。

zip:用來并行迭代多個(gè)序列

內(nèi)置zip函數(shù)允許我們使用for循環(huán)來并行迭代多個(gè)序列,。zip使用多個(gè)序列作為參數(shù),,然后返回元組的列表,將這些序列中的并排元素一一配對,。

L1 = [1,2,3,4,5]
L2 = ['A','B','C','D','E']
for t in zip(L1,L2):
    print(t, end=',')

(1'A'),(2'B'),(3'C'),(4'D'),(5'E'),

和range一樣,,zip在遍歷時(shí)也是依次按需產(chǎn)生結(jié)果,而不是一次性顯示所有結(jié)果

L1 = [1,2,3,4,5]
L2 = ['A','B','C','D','E']

print(zip(L1,L2))


同樣的,,如果想一次性顯示所有結(jié)果,,則必須將其包含在一個(gè)list調(diào)用中,,以便一次性顯示所有結(jié)果

L1 = [1,2,3,4,5]
L2 = ['A','B','C','D','E']
print(list(zip(L1,L2)))

[(1'A'), (2'B'), (3'C'), (4'D'), (5'E')]

最后只說明一點(diǎn),當(dāng)zip的多個(gè)參數(shù)長度不同時(shí),,zip會以最短序列的長度為準(zhǔn)來截?cái)嗨玫降脑M

L1 = [1,2,3,4,5]
L2 = ['A','B','C']
print(list(zip(L1,L2)))

[(1'A'), (2'B'), (3'C')]

回顧一下,,之前我們談到過,當(dāng)字典的鍵和值必須在運(yùn)行時(shí)計(jì)算產(chǎn)生時(shí),,zip函數(shù)可以用于產(chǎn)生這樣的字典

keys = ['A''B''C']
vals = [123]
D = dict(zip(keys,vals))
print(D)

{'C'3'A'1'B'2}

enumerate:用來同時(shí)產(chǎn)生偏移和元素

有時(shí)我們在遍歷的時(shí)候,,既需要偏移值,又需要對應(yīng)元素,,那么內(nèi)置函數(shù)enumerate就可以實(shí)現(xiàn)這個(gè)功能,。

他在for循環(huán)的條件下每輪迭代返回一個(gè)包含偏移值和偏移元素的元組:(index,value)

S = 'spam'
for t in enumerate(S):
    print(t,end=' ')

(0's') (1'p') (2'a') (3'm')

同樣,他也是按需產(chǎn)生,,而非一次性產(chǎn)生所有元素的列表

S = 'spam'
print(enumerate(S))


【妹子說】這種高級技巧課程的內(nèi)容還是挺多的,,需要多多練習(xí)才能好好掌握~


    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多