首页 > 编程知识 正文

Python不同维度的数组相加

时间:2023-11-20 16:28:20 阅读:305908 作者:CYRJ

在Python中,数组是一种非常常见的数据结构,用于存储大量的数据。相加是常见的数组操作之一,可以用于不同维度的数组。本文将从多个方面对Python不同维度的数组相加进行详细阐述。

一、一维数组相加

一维数组是最简单的数组形式,它只有一个维度。在Python中,我们可以使用zip()函数来实现一维数组的相加。

def add_1d_arrays(arr1, arr2):
    result = []
    for a, b in zip(arr1, arr2):
        result.append(a + b)
    return result

array1 = [1, 2, 3]
array2 = [4, 5, 6]
result = add_1d_arrays(array1, array2)
print(result)  # 输出:[5, 7, 9]

首先,我们定义了一个函数add_1d_arrays,它接受两个一维数组作为参数。使用zip()函数将两个数组逐个元素进行相加,并将结果添加到新的数组result中。最后返回结果。

在示例中,我们定义了两个一维数组array1array2,并调用add_1d_arrays函数进行相加。输出结果为[5, 7, 9]

二、二维数组相加

二维数组是由一维数组组成的数组。在Python中,我们可以使用嵌套的循环来实现二维数组的相加。

def add_2d_arrays(arr1, arr2):
    rows = len(arr1)
    cols = len(arr1[0])
    result = [[0] * cols for _ in range(rows)]
    
    for i in range(rows):
        for j in range(cols):
            result[i][j] = arr1[i][j] + arr2[i][j]
    
    return result

array1 = [[1, 2], [3, 4]]
array2 = [[5, 6], [7, 8]]
result = add_2d_arrays(array1, array2)
print(result)  # 输出:[[6, 8], [10, 12]]

首先,我们定义了一个函数add_2d_arrays,它接受两个二维数组作为参数。通过获取数组的行数和列数,我们创建了一个与数组大小相同的全零数组result。然后,通过嵌套的循环将两个数组的对应元素相加并存储到result中。最后返回结果。

在示例中,我们定义了两个二维数组array1array2,并调用add_2d_arrays函数进行相加。输出结果为[[6, 8], [10, 12]]

三、多维数组相加

多维数组是由多个相同维度的数组组成的数组。在Python中,我们可以使用递归函数来实现多维数组的相加。

def recursive_add(arr1, arr2):
    if isinstance(arr1, int) and isinstance(arr2, int):
        return arr1 + arr2
    elif isinstance(arr1, list) and isinstance(arr2, list):
        result = []
        for a, b in zip(arr1, arr2):
            result.append(recursive_add(a, b))  # 递归调用自身
        return result

array1 = [[1, 2], [3, [4, 5]]]
array2 = [[6, 7], [8, [9, 10]]]
result = recursive_add(array1, array2)
print(result)  # 输出:[[7, 9], [11, [13, 15]]]

我们定义了一个递归函数recursive_add,它接受两个数组作为参数。如果输入的参数是两个整数,则直接相加并返回结果。如果参数是两个数组,则分别对应元素进行递归相加,并将结果添加到result中。最后返回结果。

在示例中,我们定义了两个多维数组array1array2,并调用recursive_add函数进行相加。输出结果为[[7, 9], [11, [13, 15]]]

四、总结

本文从一维数组、二维数组和多维数组三个方面详细阐述了Python不同维度的数组相加的方法。通过代码示例,我们可以清晰地了解如何实现不同维度数组的相加。在实际应用中,根据需要选取适合的方法进行数组相加操作。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。