在Python編程語(yǔ)言中,enumerate()及zip()是兩個(gè)常用的內(nèi)置函數(shù),這兩個(gè)函數(shù)功能類(lèi)似,但又有所區(qū)別,下面通過(guò)兩個(gè)例子分別進(jìn)行說(shuō)明。
enumerate()函數(shù)
該函數(shù)在字面上是枚舉、列舉的意思,用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中,可同時(shí)得到數(shù)據(jù)對(duì)象的值及對(duì)應(yīng)的索引值。如對(duì)于下面的例子:
運(yùn)行結(jié)果為:
注意:在enumerate()函數(shù)中,也可以給第2個(gè)參數(shù)“start”的值,指定當(dāng)前索引的初始值,如下例所示:
運(yùn)行結(jié)果為:
zip()函數(shù)
該函數(shù)用于將多個(gè)可迭代對(duì)象作為參數(shù),依次將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的對(duì)象。
如對(duì)于下面的例子:
運(yùn)行結(jié)果為:
注意:如果各個(gè)可迭代對(duì)象的元素個(gè)數(shù)不一致,則返回的對(duì)象長(zhǎng)度與最短的可迭代對(duì)象相同。例如,對(duì)上面的例子,列表scores減少一個(gè)元素,修改如下:
則運(yùn)行結(jié)果為:
備注
通過(guò)上面的兩個(gè)例子可以看出,相較于其它編程語(yǔ)言,在Python語(yǔ)言中,可以方便的以少量代碼實(shí)現(xiàn)較為復(fù)雜的功能,本文完整的測(cè)試源代碼如下:
歡迎加關(guān)注,共同交流。
聯(lián)系客服