有效使用Python迭代器
在本文中,我們將學習如何在Python 3.x(或更早版本)中實現迭代器及其有效實現。讓我們來看看Python中實現迭代器的各種方法。
型別1 - 已知長度的while迴圈實現
示例程式碼
genre = ("Python","C","C++","Java")
print("The topic available on Tutorial's Point are:")
i = 0
while (i < len(genre)):
print (genre[i])
i += 1解釋
由於其結構不夠緊湊,因此不推薦使用此方法。在這種情況下,錯誤處理也很困難。大型程式或設計不採用這種方法。
輸出
The topic available on Tutorial's Point are: Python C C++ Java
型別2 - 已知長度的for迴圈實現
示例程式碼
genre = ("Python","C","C++","Java")
print("The topic available on Tutorial's Point are:")
for i in range(len(genre)):
print (genre[i])解釋
這是程式設計師最常用的方法。這裡的`range()`函式作為增加或減少迭代器的媒介。預設情況下,它將迭代器增加1。如果我們指定遞增或遞減的步長,則它將根據提供的步長值工作。
輸出
The topic available on Tutorial's Point are: Python C C++ Java
型別3 - 未知長度的for迴圈實現
示例程式碼
genre = ("Python","C","C++","Java")
print("The topic available on Tutorial's Point are:")
for i in genre:
print (i)解釋
此方法通常在列表、字典、元組、n維陣列等線性資料結構中使用。迭代器遍歷指定結構的每個元件並將資料顯示到控制檯。此型別中的遞增是自動的。
輸出
The topic available on Tutorial's Point are: Python C C++ Java
型別4 - 透過列舉資料型別實現
示例程式碼
genre = ("Python","C","C++","Java")
iterator = enumerate(genre)
print("The topic available on Tutorial's Point are:")
for i,v in iterator:
print (v,end="\t")解釋
在這種情況下,`enumerate`幫助我們建立一個字典,其中索引作為鍵,列表中的值作為其對應的值。這裡我們必須指定兩個迭代器;一個用於索引,另一個用於要顯示的值。
輸出
The topic available on Tutorial's Point are: PythonCC++Java
型別5 - 透過zip函式實現
示例程式碼
genre = ("Python","C","C++","Java")
extras = ["C#","Dart","Erlang","Go"]
print("The topic available on Tutorial's Point are:")
for i, j in zip(genre,extras):
print (i, j,sep="\t")解釋
在這裡,我們使用兩個迭代器指定兩個線性資料結構,即列表、陣列或元組。為此,我們藉助於`zip`函式,它在處理各種場景時非常方便。它採用長度較短的資料結構,並跳過較長資料結構的內容。
輸出
The topic available on Tutorial's Point are: PythonC# CDart C++Erlang JavaGo
結論
在本文中,我們學習瞭如何在Python 3.x(或更早版本)中實現棧和佇列資料結構。您可以使用相同的演算法在任何其他程式語言中實現棧/佇列檢測程式。
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP