1. 程式人生 > >Python中的for迴圈總結(enumerate())

Python中的for迴圈總結(enumerate())

 1.可以明確迴圈的次數

  • 遍歷一個數據集內的成員
  • 在列表解析中使用
  • 生成器表示式中使用

2.iteratle_object(可迭代物件)

  • String(字串)
  • List(列表)
  • Tuple(元組)
  • Dictionary(字典)
  • File(檔案)

注意字串就是一個iterable_object,

s='python'
fon c in s:
    print(c)

#輸出 
p
y
t
h
o
n

range()返回的也是iterable_object,

for i in range(3,11,2)
    print(i,end=' ')

#輸出 
3 5 7 9 

enumerate()(單詞意思是列舉的意思)是python中的內建函式,使用方法為

enumerate(X,[start=0])

函式中的引數X可以是一個迭代器(iterator)或者是一個序列

            start是起始計數值,預設從0開始。
X可以是一個字典。(注意觀察下面的輸出結果)

a = {1: 1, 2: 2, 3: 3}
for i , item in enumerate(a):
    print (i, item)

Output:
0 1
1 2
2 3
b=[1,2,3,4,5,6]
for i,item in enumerate(b):
    print (i, item)

Output:
0 1
1 2
2 3
3 4
4 5
5 6

下面是把start設定為10,輸出結果下標將是從10開始,不再是預設的0.

b = [1,2,3,4,5,6]
for i,item in enumerate(b, start=10):
    print(i,item)

Output:
10 1
11 2
12 3
13 4
14 5
15 6

補充:統計檔案行數可以這樣寫:

count=len(open(filepath,'r').readlines())

這種方法簡單,但是可能比較慢,當檔案比較大時甚至不能工作。

可以利用enumerate():

count=0
for index,line in enumerate(open(filepath,'r')):
    count+=1