Python 中的 Enumerate() 函數:基本演練
已發表: 2021-06-24Python 是數據科學家最喜歡的語言之一。 該語言很直觀,python 有一系列有用的庫來解決不同的問題。 它有許多模塊來幫助數據科學家跨越任何數據科學問題的各個階段——從數據挖掘到分析再到報告。
在 upGrad,我們指導了來自不同領域的專業人士,包括經濟學、人文科學、工程學。 到目前為止,Python 一直是初學者和專業人士在其職業生涯任何階段最容易學習的語言。 因此,如果您是一名有抱負的數據科學家,並希望邁出第一步,那麼 Python 可能是一個很好的起點!
Python 編程語言具有多種功能,可幫助您篩選不同的數據集並根據您的要求操作數據容器。 其中一項功能是 enumerate() 方法。 它是 Python 中更重要的功能之一,尤其是在處理大量數據集時。 不僅如此,該函數還比執行類似任務的其他 Python 函數優化了很多——它使您的代碼保持高效和乾淨。
該函數向任何可迭代對象添加一個計數器。 然後,使用計數器,您可以跟踪已發生的迭代次數。 該計數器的值單獨存儲。 使用此方法,您可以遍歷列表或字典或元組或一組項目,同時跟踪所有元素的索引。
在本文中,我們將進一步分解 enumerate() 函數!
enumerate() 方法的語法和應用
enumerate() 函數創建一個單獨的計數器變量,用於跟踪循環中的迭代次數。 它是一個內置的 Python 函數,因此您無需導入任何庫即可訪問它。

使用 enumerate() 函數時,您不必擔心創建 range() 語句來獲取數組的完整長度。 由於您有 counter 變量,因此您可以快速迭代 enumerate() 而無需創建不同的迭代器。
下面是 enumerate() 方法的語法:
枚舉(可迭代,startIndex)
它有兩個參數:
- 可迭代:任何可以循環的對象。
- startIndex:這是可選的。 如果您在此處提供任何值,則計數將從您提供的值開始,並且將遞增直到循環結束。 默認情況下,startIndex 值為 0。
讓我們通過幾個例子來了解 enumerate() 方法的工作原理!
這是一小段代碼。 我們有一個名為 food_items 的數組,並且在 for 循環中,我們調用了 enumerate() 方法,可迭代對象為 food_items(這將是該函數將循環的數組)。 然後,我們嘗試打印出索引和名稱——這是 enumerate() 返回的兩個元素
food_items = [“披薩”、“漢堡”、“沙拉”、“千層面”、“意大利面”]
對於索引,枚舉中的名稱(food_items):
打印(索引,名稱)
enumerate() 函數遍歷我們的食物數組項並返回索引和名稱。 索引是已經發生的迭代次數,名稱是列表中的特定項目。 這是程序輸出的內容:
0 比薩
1個漢堡
2 沙拉
3 烤寬麵條
4 意大利面
如您所見,輸出與您預期的一樣 - 您獲得了 food_items 列表中不同項目的索引和名稱的對象。 使用 enumerate() 函數而不是 len() 或 range() 使我們的代碼非常乾淨和可讀!

使用枚舉對象
默認情況下, enumerate() 返回一個元組列表。 我們可以通過在遍歷 food_items 數組時打印 'item' 的值來看到這一點:
對於枚舉中的項目(food_items):
打印(項目)
此代碼以元組數據結構返回索引值和該索引處的食物項。
(0,“披薩”)
(1,“漢堡”)
(2,“沙拉”)
(3,“千層面”)
(4,“意大利面”)
如果您從本文開始就已經註意了,您會記得 enumerate() 方法有兩個參數——iterable 和 startIndex。 默認情況下,到目前為止,我們的方法是在說話——作為 startIndex。 讓我們嘗試改變它,看看效果如何!
food_items = [“披薩”、“漢堡”、“沙拉”、“千層面”、“意大利面”]
對於索引,枚舉中的名稱(food_items,10):
打印(索引,名稱)
我們的程序返回以下
10 比薩
11 漢堡
12 沙拉
13 烤寬麵條
14 意大利面
這對於您希望從 0 以外的數字開始列表的用例很有用。
我們還可以使用 enumerate() 方法創建帶有列表項和索引的元組。 這是一個例子:
food_items = [“披薩”、“漢堡”、“沙拉”、“千層面”、“意大利面”]
food_items_with_counter = list(枚舉(food_items, 1))
打印(food_items_list_with_counter)
該代碼將返回一個元組列表,其中包含食物項和 enumerate() 方法的索引值。 看看這個:

[(1, '披薩'), (2, '漢堡'),(3, '沙拉'), (4, '烤寬麵條'), (5, '意大利面')]
結論
Python 中的 enumerate() 函數是一個健壯且經過優化的函數。 如果您想遍歷一個值數組並在數組的不同位置操作數據,這很有用。
現在您已經了解了 enumerate() 的基礎知識,繼續練習 - 創建幾個數組並嘗試使用不同的輸入運行 enumerate() 函數。 畢竟,編程都是關於實踐的。 補充一點很重要——編程(尤其是數據科學)除了公然練習之外,還關乎了解正確的事情。 你需要找到兩者的結合——知識和實踐。
如果您是該領域的新手尋求幫助 - upGrad 支持您! 我們的機器學習和人工智能理學碩士課程與 IIIT-Bangalore 和 LJMU 合作開展。 您將獲得行業專家的一對一支持、強大的同齡學生群體以及 360 度的職業支持。
今天就聯繫我們,提升您的職業生涯!