python二维数组的定义与赋值

在Python中,使用列表(List)来模拟二维数组。下面是关于二维数组的创建、单个赋值以及整行赋值的方法:

1. 二维数组的创建:

# 方法1:使用嵌套列表
rows, cols = 3, 4
matrix = [[0 for _ in range(cols)] for _ in range(rows)]
# 输出:[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

# 方法2:直接设置列表
matrix = [[0] * 4 for _ in range(3)]
# 输出:[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

# 方法3:使用NumPy库
import numpy as np
rows, cols = 3, 4
matrix = np.zeros((rows, cols), dtype=int)
# 输出:
#  [[0 0 0 0]
#   [0 0 0 0]
#   [0 0 0 0]]

2. 单个元素赋值:

# 指定行和列进行单个元素赋值
matrix[1][2] = 42
# 输出:
#  [[ 0  0  0  0]
#   [ 0  0 42  0]
#   [ 0  0  0  0]]

3. 整行赋值:

# 方法1:使用循环遍历赋值
matrix[1] = [1, 2, 3, 4]
# 输出:
#  [[0 0 0 0]
#   [1 2 3 4]
#   [0 0 0 0]]

# 方法2:使用NumPy库
matrix[1, :] = np.array([5, 6, 7, 8])
# 输出:
#  [[0 0 0 0]
#   [5 6 7 8]
#   [0 0 0 0]]

这里,matrix[1] 表示第二行(因为索引是从0开始的),而 matrix[:, 2] 表示第三列。在使用NumPy库时,可直接使用切片或数组赋值的方式进行整行或整列的赋值,更加方便。

4.整行赋值相同:

如果你想将整行都赋予相同的值,你可以使用以下方法:
1. 使用循环遍历:

# 创建一个3行4列的二维数组,并将第二行全部赋值为10
rows, cols = 3, 4
matrix = [[0 for _ in range(cols)] for _ in range(rows)]

row_to_assign = 1  # 行索引,注意索引是从0开始的
value_to_assign = 10

matrix[row_to_assign] = [value_to_assign] * cols
# 输出:[[0, 0, 0, 0], [10, 10, 10, 10], [0, 0, 0, 0]]

2. 使用NumPy库:

import numpy as np

# 创建一个3行4列的二维数组,并将第二行全部赋值为10
rows, cols = 3, 4
matrix = np.zeros((rows, cols), dtype=int)

row_to_assign = 1  # 行索引,注意索引是从0开始的
value_to_assign = 10

matrix[row_to_assign, :] = value_to_assign
# 输出:
#  [[ 0  0  0  0]
#   [10 10 10 10]
#   [ 0  0  0  0]]

在这两种方法中,[value_to_assign] * cols 创建了一个具有 cols 个元素,都为 value_to_assign 的列表,然后将这个列表赋值给指定行。使用NumPy时,可以直接使用 matrix[row_to_assign, :] = value_to_assign 进行整行赋值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值