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,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'}
'''

 


免責聲明!

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



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