【问题标题】:Sorting Matrix by row sum [closed]按行总和对矩阵进行排序[关闭]
【发布时间】:2018-09-30 17:38:08
【问题描述】:

我一直在寻找解决这个问题的方法。我是编程新手,希望有人能引导我完成思考过程来解决这个问题。

用 Python 编写一个程序,对于随机输入图 G ={V,E},按照其度数的降序对 V = {1,...,n} 中的所有顶点进行稳定排序。

令 V = {1,2,3,4,5} 和

因此,输出由 B = {4,2,3,5,1} 给出。

【问题讨论】:

  • 这是作业/考试吗?
  • 这是一个我试图理解的老考试题。 @WillemVanOnsem

标签: python algorithm sorting matrix


【解决方案1】:

试试这个:

matrix = [[0, 0, 0, 1, 0], [0, 0, 1, 1, 1], [0, 1, 0, 1, 0], [1, 1, 1, 0, 1], [0, 1, 0, 1, 0]]

matrix.sort(key=sum, reverse=True)
print(matrix)

更新: 这是您预期的输出形式:

matrix = [[0, 0, 0, 1, 0], [0, 0, 1, 1, 1], [0, 1, 0, 1, 0], [1, 1, 1, 0, 1], [0, 1, 0, 1, 0]]
count_ones = [(i + 1, item.count(1)) for i, item in enumerate(matrix)]
count_ones.sort(key=lambda x: x[1], reverse=True)
result = [i[0] for i in count_ones]
print(result)

【讨论】:

  • 感谢您的问题,我已经更新了我的答案。
  • 我正在寻找原始索引作为我的输出,所以 {4,2,3,5,1}。当 matrix.sort() 被调用时,我怎么不会丢失这个? @TaohidalIslam
  • 请看我更新的答案
  • 谢谢,这可行
猜你喜欢
  • 2020-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多