Python遍历数组:如何在Python中遍历数组?

2021年8月13日06:02:53 发表评论 6,337 次浏览

Python如何遍历数组?Python List等价于其他语言中的数组,额外的好处是大小是动态的。在 Python 中,数组是数据结构中的一种容器,用于同时存储多个数据。与 Set 不同,Python 中的列表或数组是有序的并且有确定的计数。

有多种方法可以实现Python遍历数组。让我们看看实现Python遍历数组的所有不同方法,以及它们之间的性能比较。如何在Python中遍历数组?下面是Python遍历数组的方法

方法一:Python遍历数组 - 使用 For 循环 

# 迭代列表的Python3代码
list = [1, 3, 5, 7, 9]
  
# 使用for循环
for i in list:
    print(i)

Python如何遍历数组输出: 

1
3
5
7
9

方法二: Python怎么遍历数组?使用For 循环和 range()

Python遍历数组:如果我们想使用传统的 for 循环,它从数字 x 迭代到数字 y。 

# 迭代列表的Python3代码
list = [1, 3, 5, 7, 9]
  
# 获取列表长度
length = len(list)
  
# 迭代索引与'for i in range(len(list))'相同
for i in range(length):
    print(list[i])

输出: 

1
3
5
7
9

如何在Python中遍历数组?如果我们可以迭代元素(如方法1 中所做的那样),则不建议使用索引进行迭代。 

方法三:使用while循环 - Python遍历数组

# 迭代列表的Python3代码
list = [1, 3, 5, 7, 9]
  
# 获取列表长度
length = len(list)
i = 0
  
# 使用while循环进行迭代
while i < length:
    print(list[i])
    i += 1

输出: 

1
3
5
7
9

方法四:使用列表理解(可能是最具体的方法)

# 迭代列表的Python3代码
list = [1, 3, 5, 7, 9]
  
# 使用列表理解
[print(i) for i in list]

输出: 

1
3
5
7
9

方法五:使用 enumerate()

如何在Python中遍历数组?如果我们想将列表转换为可迭代的元组列表(或者根据条件检查获取索引,例如在线性搜索中,您可能需要保存最小元素的索引),您可以使用 enumerate() 函数。 Python遍历数组:使用使用 enumerate()实例如下:

# 迭代列表的Python3代码
list = [1, 3, 5, 7, 9]
  
# 使用enumerate()
for i, val in enumerate(list):
    print (i, ",",val)

输出: 

0 , 1
1 , 3
2 , 5
3 , 7
4 , 9

注意:即使方法2也可用于查找索引,但方法1不能(除非每次迭代都会增加一个额外的变量),并且方法 给出了此索引的简明表示。 

方法六:Python如何遍历数组?使用 Numpy

Python遍历数组:对于非常大的 n 维列表(例如图像数组),有时最好使用外部库,例如 numpy。 

# 用于迭代数组的Python程序
import numpy as geek
  
# 使用arrange方法创建数组
a = geek.arange(9)
  
# 3行4列的形状数组
a = a.reshape(3, 3)
  
# 遍历一个数组
for x in geek.nditer(a):
    print(x)

输出: 

0
1
2
3
4
5
6
7
8

如何在Python中遍历数组?我们可以使用 np.ndennumerate() 来模拟 enumerate 的行为实现Python遍历数组。numpy 的额外功能来自这样一个事实,即我们甚至可以控制访问元素的方式(Fortran 顺序而不是 C 顺序,比如 :)),但需要注意的是 np.nditer 将数组视为只读的默认情况下,因此必须传递额外的标志,例如 op_flags=['readwrite'] 才能修改元素。以上就是Python如何遍历数组的全部内容了,希望这些内容可以帮助到你。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: