遍历Python中的列表
List等效于其他语言中的数组,其额外的好处是可以动态调整大小。在Python中,列表是数据结构中的一种容器,用于同时存储多个数据。与Sets不同,Python中的列表是有序的,并且具有确定的计数。
有多种方法可以迭代Python中的列表。让我们看看在Python中迭代列表的所有不同方法,以及它们之间的性能比较。
方法1:使用For循环
1个 3 5 7 9
方法2: For循环和range()
如果我们要使用从数字x到数字y迭代的传统for循环。
1个 3 5 7 9
如果我们可以对元素进行迭代,则不建议对索引进行迭代(如方法1中所述)。
方法3:使用while循环
1个 3 5 7 9
方法4:使用列表理解(可能是最具体的方法)。
1个 3 5 7 9
方法5:使用enumerate()
如果我们想将列表转换为可迭代的元组列表(或基于条件检查获得索引,例如在线性搜索中,可能需要保存最小元素的索引),则可以使用enumerate()函数。
0,1 1、3 2、5 3、7 4、9
注意:甚至方法2都可以用来查找索引,但是方法1不能(除非每次迭代都增加一个额外的变量),方法5给出了这种索引的简明表示。
方法#6:使用numpy
对于非常大的n维列表(例如图像数组),有时最好使用外部库(例如numpy)。
0 1个 2 3 4 5 6 7 8
我们可以np.ndenumerate()
用来模仿枚举的行为。numpy的强大功能来自于我们甚至可以控制访问元素的方式(Fortran顺序而不是C顺序,例如:)),但一个警告是np.nditer
默认情况下将数组视为只读,因此一个人必须传递额外的标志,例如op_flags=[‘readwrite’]
它才能修改元素