如何在预定二维整数方阵matrix的各元素左右两侧插入0?
如何在二维整数方阵的每个元素左右两侧插入0
需求说明
假设我们有一个预先定义的二维整数方阵,需要对矩阵中的每个元素,在其左侧和右侧各插入一个0。例如原3×3矩阵:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
处理后会得到每行包含9个元素的新矩阵,第一行变为 0 1 0 0 2 0 0 3 0,以此类推。
注意:你提供的参考代码与当前需求无关
你给出的参考代码功能是打印对角矩阵(仅保留原矩阵对角线元素,其余位置输出0),和“给每个元素左右插0”的需求不匹配,下面是针对需求的正确实现。
实现代码
# 预先定义的二维方阵 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] def insert_zero_around_elements(matrix): new_matrix = [] for row in matrix: new_row = [] for num in row: # 给当前元素左右各添加一个0,并入新行 new_row.extend([0, num, 0]) new_matrix.append(new_row) return new_matrix # 执行处理并打印结果 processed_matrix = insert_zero_around_elements(matrix) for row in processed_matrix: print(' '.join(map(str, row)))
代码解释
- 遍历原矩阵的每一行,对行内的每个元素,通过
extend方法将[0, 元素, 0]添加到新行列表中,实现“左右插0”的效果 - 所有行处理完成后,返回新的二维矩阵
- 最后通过循环打印处理后的每一行,将元素转为字符串并用空格分隔,方便查看结果
内容的提问来源于stack exchange,提问作者Nwabia Amarachi
相关产品推荐
相关产品推荐

