Python二维数组做参数

1. 引言

在Python中,数组是一种重要的数据结构,用于存储和操作多个元素。通常,数组是一维的,即只包含一行或一列元素。然而,在某些情况下,我们可能需要处理二维数组,即包含多行多列的数组。本文将介绍如何在Python中使用二维数组作为函数的参数,并提供一些实例代码来说明其用法。

2. 二维数组的概念和表示方法

二维数组是一种由行和列组成的矩阵结构。在Python中,我们可以使用列表的列表来表示二维数组。例如,下面的代码展示了一个包含3行4列的二维数组:

array = [[1, 2, 3, 4],
         [5, 6, 7, 8],
         [9, 10, 11, 12]]

这个二维数组可以用一个坐标系来表示,其中行数和列数分别作为坐标的横轴和纵轴。例如,元素6的坐标是(1, 1),其中1表示第2行,1表示第2列。

3. 二维数组作为函数参数

在Python中,我们可以将二维数组作为函数的参数进行传递。这样,我们可以在函数中对二维数组进行操作,并返回结果或修改原始数组。以下是一个简单的示例代码,展示了如何在函数中接收和处理二维数组参数:

def print_array(array):
    for row in array:
        for element in row:
            print(element, end=' ')
        print()

array = [[1, 2, 3],
         [4, 5, 6],
         [7, 8, 9]]

print_array(array)

输出结果为:

1 2 3 
4 5 6 
7 8 9

在上面的代码中,我们定义了一个名为print_array的函数,它接收一个二维数组作为参数并打印数组中的所有元素。通过遍历行和列,我们可以逐个打印二维数组中的元素。

4. 在函数中修改二维数组

除了接收二维数组作为参数外,函数还可以修改原始数组。这在某些情况下是非常有用的,因为我们可以在函数中直接对数组进行操作,而无需返回新的结果。以下是一个示例代码,展示了如何在函数中修改二维数组:

def increment_array(array):
    for i in range(len(array)):
        for j in range(len(array[i])):
            array[i][j] += 1

array = [[1, 2, 3],
         [4, 5, 6],
         [7, 8, 9]]

increment_array(array)
print_array(array)

输出结果为:

2 3 4 
5 6 7 
8 9 10

在上面的代码中,我们定义了一个名为increment_array的函数,它接收一个二维数组作为参数并将数组中的每个元素加1。通过遍历行和列,我们可以访问每个元素并修改它的值。

5. 应用示例:统计二维数组中的元素频次

在实际应用中,我们经常需要统计二维数组中每个元素的频次。以下是一个示例代码,展示了如何使用二维数组作为参数,并统计每个元素的频次:

def count_elements(array):
    frequencies = {}
    for row in array:
        for element in row:
            if element in frequencies:
                frequencies[element] += 1
            else:
                frequencies[element] = 1
    return frequencies

array = [[1, 2, 3],
         [4, 2, 1],
         [3, 2, 4]]

result = count_elements(array)
print(result)

输出结果为:

{1: 2, 2: 3, 3: 2, 4: 2}

在上面的代码中,我们定义了一个名为count_elements的函数,它接收一个二维数组作为参数并返回每个元素的频次。通过使用字典来记录每个元素出现