在本文中,我们将学习如何在Python 3.x中实现迭代器及其有效实现。或更早。让我们看一下实现迭代器的python中可用的各种方法。
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
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
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
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")
在这种情况下,枚举可帮助我们创建一个字典,其中索引用作键,列表中的值作为其对应值。在这里,我们必须指定两个迭代器;一个用于索引,另一个用于显示的值。
The topic available on Tutorial's Point are: PythonCC++Java
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中实现Stack&Queue数据结构。或更早。您可以实现相同的算法,以任何其他编程语言来实现堆栈/队列检测器程序。