一、什麼是enumerate()
Python中的enumerate()函數是一種用來將可遍歷序列(如列表,元組,字符串等)組合為一個索引序列,同時列出數據下標和數據本身的函數。
fruits = ['apple', 'banana', 'orange']
for idx, fruit in enumerate(fruits):
print(idx, fruit)
輸出結果為:
0 apple 1 banana 2 orange
以上代碼中,enumerate()函數將列表fruits中的數據與其索引值一一對應,輸出時分別打印了索引序列和對應的數據本身。
二、如何使用enumerate()進行迭代和計數
1. 列表的迭代
enumerate()函數常常用來遍歷一個列表時,自動計數每個數據在列表中的位置。
fruits = ['apple', 'banana', 'orange']
for idx, fruit in enumerate(fruits):
print(f"第{idx+1}個水果是{fruit}")
輸出結果為:
第1個水果是apple 第2個水果是banana 第3個水果是orange
在以上代碼中,我們利用了字符串格式化的方法將每個水果的位置對應打印出來。
2. 字典的迭代
同樣的,enumerate()函數也可以對字典進行迭代,不過此時獲取到的是字典的鍵值和鍵名。
fruits = {'apple': 1.0, 'banana': 2.0, 'orange': 3.0}
for idx, (fruit_name, fruit_price) in enumerate(fruits.items()):
print(f"第{idx+1}個水果是{fruit_name},價格是{fruit_price}")
輸出結果為:
第1個水果是apple,價格是1.0 第2個水果是banana,價格是2.0 第3個水果是orange,價格是3.0
三、enumerate()的常見應用場景
1. 循環迭代時獲取當前數據的位置
在循環迭代過程中,我們可以根據enumerate()函數獲得當前數據的位置信息,以便在不同位置進行不同處理。
fruits = ['apple', 'banana', 'orange']
for idx, fruit in enumerate(fruits):
if idx == 0:
print("我最愛的水果是:")
print(fruit)
輸出結果為:
我最愛的水果是: apple banana orange
在上面的例子中,我們根據索引位置選擇性地輸出了一些信息。
2. 計算列表或元組中某個數據出現的次數
當我們需要計算一個列表或元組中某個數據出現的次數時,可以利用enumerate()函數和if語句來實現。
fruits = ['apple', 'banana', 'orange', 'banana', 'apple']
count = 0
for idx, fruit in enumerate(fruits):
if "apple" == fruit:
count += 1
print(f"列表中共有{count}個蘋果")
輸出結果為:
列表中共有2個蘋果
在以上代碼中,我們利用if語句統計了出現次數。
3. 使用enumerate()遍歷多個列表
在遍歷多個列表時,可以將它們打包成一個元組進行遍歷,此時就可以使用enumerate函數。
fruits = ['apple', 'banana', 'orange']
prices = [1.0, 2.0, 3.0]
for idx, (fruit, price) in enumerate(zip(fruits, prices)):
print(f"第{idx+1}個水果是{fruit},價格是{price}")
輸出結果為:
第1個水果是apple,價格是1.0 第2個水果是banana,價格是2.0 第3個水果是orange,價格是3.0
以上代碼中,我們將兩個列表打包成一個元組,然後利用enumerate()函數按照索引迭代每個元組。
四、小結
本文從enumerate()函數的基本使用入手,詳細介紹了它在各種場景中的應用方法,包括列表迭代、字典迭代、循環迭代處理、計數、遍歷多個列表等。
原創文章,作者:POWNJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/317069.html