1. 程式人生 > 程式設計 >Python range、enumerate和zip函式用法詳解

Python range、enumerate和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,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]) 
'''輸出:
apple
banana
pear
'''

二、enumerate函式

enumerate函式用於將各種迭代器(如列表、元組或字串)包裝為生成器,生成器每次產生一對輸出值,前者表示迴圈下標,後者表示從迭

代器中獲取到的下一個序列元素。一般用在 for 迴圈當中。

需要知道當前元素在列表中的索引,推薦用enumerate代替range,程式碼便於簡潔和易理解。

語法:

enumerate(sequence,[start=0])

引數:

sequence: 一個序列、迭代器或其他支援迭代物件。

start:下標起始位置。

使用例子:

fruit_list = ['apple','pear']
for i,fruit in enumerate(fruit_list):
  print(i,fruit) 
'''輸出:
apple
banana
pear
'''
for i,fruit in enumerate(fruit_list,1):
  print(i,fruit) 
'''輸出:
apple
banana
pear
'''

三、zip函式

zip函式可以把兩個或兩個以上的迭代器封裝為生成器,以便稍後求值。

生成器會從每個迭代器中獲取下一個值,然後把這些值匯聚成元組。

語法:

zip([iterable,...])

引數:

iterabl:一個或多個迭代器

使用例子:

index_list = [0,4]
fruit_list = ['apple','pear']
for index,fruit in zip(index_list,fruit_list):
  print(index,fruit)
'''輸出:
apple
banana
pear
'''
d = dict(zip(index_list,fruit_list))
print(d)
'''轉換為字典,輸出:
{0: 'apple',1: 'banana',2: 'pear'}
'''

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。