在Python中,2D数组通常指的是一个二维列表(list of lists),其中每个元素本身也是一个列表。这种数据结构可以用来表示矩阵或表格。
假设我们有一个2D数组,并且我们想要找到某个单元格的相邻单元格(上、下、左、右)。
def get_adjacent_cells(matrix, row, col):
rows = len(matrix)
cols = len(matrix[0])
adjacent_cells = []
# 上
if row > 0:
adjacent_cells.append((row - 1, col))
# 下
if row < rows - 1:
adjacent_cells.append((row + 1, col))
# 左
if col > 0:
adjacent_cells.append((row, col - 1))
# 右
if col < cols - 1:
adjacent_cells.append((row, col + 1))
return adjacent_cells
# 示例2D数组
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 获取(1, 1)位置的相邻单元格
adjacent_cells = get_adjacent_cells(matrix, 1, 1)
print(adjacent_cells) # 输出: [(0, 1), (2, 1), (1, 0), (1, 2)]
get_adjacent_cells
函数接受一个2D数组matrix
和目标单元格的行row
和列col
。adjacent_cells
列表中。通过这种方式,你可以轻松地找到2D数组中任意单元格的相邻单元格。