Python For 迴圈 (以list及string為例)

以下示範Python 的For迴圈,範例是有一個list,我們要把list中的物件一個個印出來
list1=[1,2,3,4,5]
for i in xrange(len(list1)):
    print list1[i]
len(list1)是list1的長度,在這裡是5
range(len(list1))等同於[0,1,2,3,4],會回傳一個list
xrange的用法完全一樣,但是不會回傳list,效能較高

以下為輸出
1
2
3
4
5
寫法二也能得到同樣的結果
for item in list1:
     print item
寫法三使用python內建的函數,能一次得到index跟值
for i, j in enumerate(list1):
     print i,j
以下為輸出結果
0 1
1 2
2 3
3 4
4 5
String也能使用相同語法,字串類似是一個list裡面有很多字母
for letter in 'Python':
    print '英文字母:', letter
英文字母: P
英文字母: y
英文字母: t
英文字母: h
英文字母: o
英文字母: n
Note: 關於range用法很簡單,range([start], stop[, step]) 起始值不給就預設是0,step預設是1
print range(10)
print list(range(10))
print range(0, 10)
print range(0, 10, 2)
print range(9, -1, -1)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 4, 6, 8]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
所以關於上面的例子,假設我現在要印出第1,3,5個元素,只要多加一個step值就可以了
for i in xrange(0,len(list1),2):
   print list1[i]
1
3
5

留言