Python 遍歷enumerate()


Python中常見的序列主要有列表(list)、元組(tuple)和字符串(string)。關對於序列的遍歷,Python推薦的是for…in…sequence語句做成員測試,這個語句其實和for…in…range()一樣是按照索引順序遍歷的,但是用in語句的話不能直接使用索引值。

在實際應用中,遍歷經常也要用到索引值,比如計數,統計進度等等。用range的話怎么看着都麻煩,其實可以使用enumerate()函數。

enumerate的意思是列舉、枚舉。

enumerate()函數時Python的內置函數。
原理分析
基本用法

s = [2,5,8,3,6,9]
for i in enumerate(s):
    print i

    1
    2
    3

結果為:

(0, 2)
(1, 5)
(2, 8)
(3, 3)
(4, 6)
(5, 9)

按照一般的序列迭代方法,可以看出enumerate()函數的返回值是一個元組,元組構成為(index, value),也就是序列索引和值的元組。
第二可選參數,解決索引從0開始輸出的問題

enumerate()有兩個參數序列和起始索引。
即enumerate(sequence , index)

s = [2,5,8,3,6,9]
for i in enumerate(s, 1):
    print i

結果為:

(1, 2)
(2, 5)
(3, 8)
(4, 3)
(5, 6)
(6, 9)

這樣就解決了索引從0開始,而我們習慣從1開始輸出的問題。
示例

下面以常見的序列,列表、元組、字符串為例簡單說明enumerate()的使用方法。
示例1 列表

s = [2,5,8,3,6,9]
for index, value in enumerate(s):
    print index, value

結果為:

0 2
1 5
2 8
3 3
4 6
5 9

示例2 元組

s = (2,5,8,3,6,9)
for index, value in enumerate(s):
    print index, value

結果為:

0 2
1 5
2 8
3 3
4 6
5 9

示例3 字符串

s = 'test'
for index, value in enumerate(s):
    print index, value

結果為:

0 t
1 e
2 s

轉自:


免責聲明!

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



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