gpt4 book ai didi

python - 根据python中的最高有效位对二进制矩阵列进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:36:06 26 4
gpt4 key购买 nike

所以我有一个二维数组,如下所示:[[0, 1, 1][1, 0, 0][0,0,1]] 其中所有值都存储为整数,但它们代表实际位。第一行中的值被认为是最重要的。假设每一列都是基于列中位的整数,我想按降序对列进行排序,这样它看起来像 [[1,1,0][0,0,1][0 ,0,1]]。但是,我对如何在 python 中实现这一点非常迷茫。有人建议我使用基数排序,但我不知道这对我的情况有何帮助。我在下面写了两个矩阵,这样更容易可视化。

011 110
100 001
001 100

我的方法:读取每一列,转换为整数,对整数排序,映射回列。但是如果我使用尺寸为 1000x10000

的矩阵,这种方法可能会非常复杂

但我觉得应该有更聪明的方法来做到这一点,尤其是在 python 中。我应该如何处理这个问题?

最佳答案

正如我所说的转置、排序、转回:

a = [[0, 1, 1],[1, 0, 0],[0,0,1]]
a = list(zip(*a))
a.sort(reverse=True)
a = list(map(list,zip(*a)))

关于python - 根据python中的最高有效位对二进制矩阵列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54341672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com