有效使用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(或更早版本)中实现栈和队列数据结构。您可以使用相同的算法在任何其他编程语言中实现栈/队列检测程序。
广告