您的位置:

Python数组遍历技巧,更高效的代码实现

一、如何遍历一维数组

在 Python 中,可以使用 for 循环对一维数组进行遍历。例如:

arr = [1, 2, 3, 4, 5]
for i in arr:
    print(i)

此外,也可以使用 range() 函数和 len() 函数来遍历一维数组。例如:

arr = [1, 2, 3, 4, 5]
for i in range(len(arr)):
    print(arr[i])

当然,使用 for 循环的方法更为简洁,推荐使用。

二、如何遍历二维数组

在 Python 中,可以使用嵌套的 for 循环对二维数组进行遍历。例如:

arr = [[1, 2], [3, 4], [5, 6]]
for i in range(len(arr)):
    for j in range(len(arr[i])):
        print(arr[i][j])

此外,也可以使用 numpy 库的 nditer 函数对二维数组进行遍历。nditer 函数可以自动选择最快的方式进行遍历,比普通的嵌套循环更高效。例如:

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6]])
for i in np.nditer(arr):
    print(i)

三、如何在遍历数组时修改数组元素

在 Python 中,可以在遍历数组时直接修改数组元素,无需使用额外的变量。例如:

arr = [1, 2, 3, 4, 5]
for i in range(len(arr)):
    arr[i] = arr[i] * 2
print(arr)

需要注意的是,如果在遍历数组时删除或添加元素,则可能会出现数组索引错误。此时可以倒序遍历数组,避免出错。例如:

arr = [1, 2, 3, 4, 5]
for i in range(len(arr)-1, -1, -1):
    if arr[i] % 2 == 0:
        arr.pop(i)
print(arr)

四、如何对多维数组进行条件筛选

在 Python 中,可以使用 numpy 库的 where 函数对多维数组进行条件筛选。例如:

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6]])
cond = arr > 3
print(arr[cond])

以上代码会输出数组中大于 3 的元素。

五、如何按行或列遍历数组

在 Python 中,可以使用 numpy 库的 transpose 函数对数组进行转置,然后按行或列遍历数组。例如:

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6]])
for row in arr:
    print(row)
    
for col in arr.transpose():
    print(col)

以上代码会先按行遍历数组,再按列遍历数组。