您的位置:

用Python创建二维数组

一、引言

Python是一门优美、简单、易学的编程语言,因此越来越多的程序员使用它来进行编程。而在Python中,二维数组是很常见的操作之一,它具有很好的灵活性和可操作性。在这篇文章中,我们将重点介绍如何用Python创建、定义、输入和操作二维数组。

二、Python创建二维数组

二维数组是也被称为矩阵,在Python中通过嵌套列表或Numpy数组实现较为常见。下面是一个用嵌套列表创建二维数组的示例代码:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix)

输出结果如下:

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

可以看出,这样创建的数组非常简单、易懂,具有很高的可读性,同时在实际运用中也比较方便。

三、Python输入二维数组

现在,我们考虑如何输入二维数组。下面是一段示例代码,它展示了如何通过for循环和while循环输入二维数组。

1、 for循环输入二维数组

# 创建一个3×3的二维数组
n = 3
m = 3
arr = [[0 for j in range(n)] for i in range(m)]

# 输入二维数组
for i in range(m):
    for j in range(n):
        arr[i][j] = int(input("Enter element [%d,%d]: " % (i+1, j+1)))

# 输出二维数组
for i in range(m):
    for j in range(n):
        print(arr[i][j], end=" ")
    print()

上面的代码使用嵌套for循环,遍历整个二维数组,从而输入和输出二维数组。

2、while循环输入二维数组

# 创建一个3×3的二维数组
n = 3
m = 3
arr = [[0 for j in range(n)] for i in range(m)]

# 输入二维数组
i = j = 0
while i < m:
    while j < n:
        arr[i][j] = int(input("Enter element [%d,%d]: " % (i+1, j+1)))
        j += 1
    j = 0
    i += 1

# 输出二维数组
for i in range(m):
    for j in range(n):
        print(arr[i][j], end=" ")
    print()

以上两个示例代码展示了如何通过for循环和while循环输入和输出二维数组。其实,在Python中要输入二维数组也非常简单,只需要嵌套输入语句即可。

四、Python定义二维数组

除了用嵌套列表定义二维数组,还可以使用NumPy库中的array方法来创建二维数组。下面是一段示例代码,它展示了如何使用NumPy库中的array方法来定义一个二维数组:

import numpy as np

# 创建一个三行三列的二维数组
arr = np.array([[1,2,3], [4,5,6], [7,8,9]])

# 输出数组
print(arr)

输出结果如下:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

可以看出,这个二维数组和我们前面用嵌套列表方法创建的数组是一样的。当然,使用NumPy库中的array方法创造数组不仅仅可以是用嵌套列表的方法,还可以使用其他方式,如使用Python自带的range方法等。

五、Python二维数组求和

在实际应用中,我们通常需要对二维数组进行运算,比如二维数组求和。下面是一段示例代码,它展示了如何对二维数组进行求和操作:

# 创建一个三行三列的二维数组
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# 对二维数组进行求和
sum = 0
for i in range(3):
    for j in range(3):
        sum += matrix[i][j]

# 输出结果
print(sum)

输出结果:

45

以上代码展示了如何对二维数组进行求和操作,非常容易理解和实现。在实际应用中,这个功能也是很常用的。

六、Python二维数组排序

排序是二维数组经常需要实现的功能之一。下面是一段示例代码,它展示了如何使用Python的sort()方法来对二维数组进行排序:

# 创建一个包含3行3列的二维数组
matrix = [[9, 8, 7], [6, 5, 4], [3, 2, 1]]

# 打印排序前的数组
print("排序前的数组:")
for i in range(3):
    for j in range(3):
        print(matrix[i][j], end=" ")
    print()

# 对二维数组进行从大到小排序
for i in range(3):
    matrix[i].sort(reverse=True)

# 打印排序后的数组
print("排序后的数组:")
for i in range(3):
    for j in range(3):
        print(matrix[i][j], end=" ")
    print()

输出结果:

排序前的数组:
9 8 7 
6 5 4 
3 2 1 
排序后的数组:
9 8 7 
6 5 4 
3 2 1 

以上代码展示了如何对二维数组进行排序操作。事实上,在Python中,可以使用sorted()方法或NumPy库中提供的sort()函数对二维数组进行排序,使用方法都非常简单。

七、Python二维数组切片

在Python中,二维数组可以进行切片操作,取出指定的部分内容。下面是一段示例代码,它展示了如何在Python中进行二维数组切片操作:

import numpy as np

# 创建一个4行4列的数组
arr = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]])

# 对数组进行切片操作
result = arr[:3, 1:3]

# 输出结果
print(result)

输出结果:

[[ 2  3]
 [ 6  7]
 [10 11]]

以上代码展示了如何在Python中进行二维数组切片操作。可以发现,使用切片操作非常方便,以及在很多情况下能够减少代码的复杂度。

八、Python遍历二维数组

在实际应用中,经常需要使用遍历二维数组的功能。这样可以对数组元素进行操作,或者找到对应元素的位置。下面是一段示例代码,它展示了如何在Python中实现二维数组的遍历功能:

import numpy as np

# 创建一个3行3列的二维数组
arr = np.array([[1,2,3], [4,5,6], [7,8,9]])

# 遍历二维数组
for i in range(3):
    for j in range(3):
        print(arr[i][j], end=" ")
    print()

输出结果:

1 2 3 
4 5 6 
7 8 9 

以上代码展示了如何在Python中遍历二维数组,这在实际应用中是非常常见的操作。

九、Python创建一个二维数组

在实际应用中,我们有时需要创建一个空数组,来存放数据等。下面是一段示例代码,它展示了如何在Python中创建一个二维数组:

import numpy as np

# 创建一个3行3列的二维数组
arr = np.zeros((3, 3))

# 输出创建的二维数组
print(arr)

输出结果:

[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]

以上代码展示了如何在Python中创建一个空数组,这在实际应用中非常常见。

十、Python怎么定义二维数组

Python定义二维数组和上文提到的创建二维数组是相同的。只需要使用嵌套列表或Numpy数组实现即可。下面是一个代码示例:

# 创建一个3行3列的二维数组
arr = [[1,2,3], [4,5,6], [7,8,9]]

# 输出二维数组
print(arr)

输出结果:

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

以上代码展示了如何在Python中定义二维数组。只需要使用嵌套定义或者NumPy库中的方法即可,非常简单易懂。

总结

本文介绍了如何在Python中创建、定义、输入和操作二维数组,涵盖了许多实际应用中的场景。通过阅读本文,你可以更好地了解Python二维数组的相关知识,从而更灵活、高效地应用Python进行编程。