range函數可創建一個整數列表。 如果需要知道當前元素在列表中的索引,推薦用enumerate代替range。 zip函數用於同時遍歷多個迭代器。 ...
range函數可創建一個整數列表。
如果需要知道當前元素在列表中的索引,推薦用enumerate代替range。
zip函數用於同時遍歷多個迭代器。
一、range 函數
range函數可創建一個整數列表,一般用在 for 迴圈中。
語法:
range([start,] stop[, step])
參數:
start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0,5); stop: 計數到 stop 結束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]沒有5 step:步長,預設為1。例如:range(0,5) 等價於 range(0,5,1)
使用例子:
for i in range(5): print(i, end=' ') #輸出:0 1 2 3 4 print() for i in range(1,5): print(i, end=' ') #輸出:1 2 3 4 print() for i in range(0,5,2): print(i, end=' ') #輸出:0 2 4 print() for i in range(0,-5,-1): print(i, end=' ') #輸出:0 -1 -2 -3 -4 print() fruit_list = ['apple', 'banana','pear'] for i in range(len(fruit_list)): print(i, fruit_list[i]) '''輸出: 0 apple 1 banana 2 pear '''
二、enumerate函數
enumerate函數用於將各種迭代器(如列表、元組或字元串)包裝為生成器,生成器每次產生一對輸出值,前者表示迴圈下標,後者表示從迭
代器中獲取到的下一個序列元素。一般用在 for 迴圈當中。
需要知道當前元素在列表中的索引,推薦用enumerate代替range,代碼便於簡潔和易理解。
語法:
enumerate(sequence, [start=0])
參數:
sequence: 一個序列、迭代器或其他支持迭代對象。
start:下標起始位置。
使用例子:
fruit_list = ['apple', 'banana','pear'] for i,fruit in enumerate(fruit_list): print(i, fruit) '''輸出: 0 apple 1 banana 2 pear ''' for i,fruit in enumerate(fruit_list, 1): print(i, fruit) '''輸出: 1 apple 2 banana 3 pear '''
三、zip函數
zip函數可以把兩個或兩個以上的迭代器封裝為生成器,以便稍後求值。
生成器會從每個迭代器中獲取下一個值,然後把這些值匯聚成元組。
語法:
zip([iterable, ...])
參數:
iterabl:一個或多個迭代器
使用例子:
index_list = [0, 1, 2, 3, 4] fruit_list = ['apple', 'banana','pear'] for index,fruit in zip(index_list,fruit_list): print(index,fruit) '''輸出: 0 apple 1 banana 2 pear ''' d = dict(zip(index_list,fruit_list)) print(d) '''轉換為字典,輸出: {0: 'apple', 1: 'banana', 2: 'pear'} '''