Python中用循环实现矩阵元素逆序转换(不依赖专用函数)
矩阵元素逆序转换实现方案
纯循环实现(无专用反转函数)
如果完全依赖循环完成,不需要任何内置反转函数,可以通过双重逆序遍历实现:
# 示例矩阵 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] reversed_matrix = [] # 从最后一行开始遍历原矩阵 for row_idx in range(len(matrix)-1, -1, -1): current_row = matrix[row_idx] reversed_row = [] # 从当前行的最后一个元素开始遍历 for col_idx in range(len(current_row)-1, -1, -1): reversed_row.append(current_row[col_idx]) reversed_matrix.append(reversed_row) print(reversed_matrix) # 输出: [[9, 8, 7], [6, 5, 4], [3, 2, 1]]
逻辑说明
- 外层循环逆序遍历矩阵的行索引,从最后一行到第一行
- 内层循环逆序遍历当前行的列索引,把元素逐个添加到新行中
- 把处理好的逆序行依次加入结果矩阵,最终得到完全逆序的矩阵
结合list.reverse()的实现
如果你想利用list.reverse()简化行内元素的反转,需要注意该方法是原地修改列表,所以要先复制原行再操作,避免破坏原矩阵:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] reversed_matrix = [] # 先反转每一行的元素 for row in matrix: # 复制原行再反转,避免修改原矩阵 reversed_row = row.copy() reversed_row.reverse() reversed_matrix.append(reversed_row) # 再反转整个矩阵的行顺序 reversed_matrix.reverse() print(reversed_matrix) # 输出: [[9, 8, 7], [6, 5, 4], [3, 2, 1]]
逻辑说明
- 遍历原矩阵的每一行,复制后调用
reverse()反转行内元素,收集到临时矩阵 - 对临时矩阵整体调用
reverse(),反转行的顺序,最终得到目标结果
内容的提问来源于stack exchange,提问作者Alelele
相关产品推荐
相关产品推荐

