Python 中矩阵的列排序
pythonserver side programmingprogramming更新于 2025/12/25 14:36:17
假设我们有一个矩阵,我们必须按升序对每一列进行排序。
因此,如果输入如下
| 11 | 21 | 31 |
| 6 | 6 | 4 |
| 1 | 11 | 8 |
则输出将是
| 1 | 6 | 4 |
| 6 | 11 | 8 |
| 11 | 21 | 31 |
为了解决这个问题,我们将遵循以下步骤 −
- R := 矩阵的行数,C := 矩阵的列数
- res := 与给定矩阵大小相同的矩阵并用 0 填充
- 对于范围为 0 到 C 的 col,执行
- values := 将元素作为矩阵 [col] 的向量
- 对于范围中的行0 到 R,执行
- res[row, col] := 从值中删除最后一个元素
- 返回 res
让我们看看下面的实现以便更好地理解 −
示例
class Solution: def solve(self, matrix): R = len(matrix) C = len(matrix[0]) res = [[0] * C for _ in range(R)] for col in range(C): values = [r[col] for r in matrix] values.sort(reverse=True) for row in range(R): res[row][col] = values.pop() return res ob = Solution() matrix = [[11, 21, 31],[6, 6, 4],[1, 11, 8]] print(ob.solve(matrix))
输入
[[11, 21, 31], [6, 6, 4], [1, 11, 8]]
输出
[[1, 6, 4],[6, 11, 8],[11, 21, 31]]
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

