如何在DESCENDING顺序中对Python 2.7中的任何列表进行排序?

时间:2015-01-08 20:35:10

标签: python list sorting

我认为标题对于这个问题说得够多......

这就是我试图这样做的方式:

r=input("rows")
c=input("colomns")
b=[]
for x in range(r):
    b.append(["O"] * c)

for i in range(r):
    for j in range(c):
        b[i][j]=input("enter ")

现在这可以是任何矩阵或嵌套列表..... 但如果我使用SORTED功能,那么我得到主列表中列表的降序.... 例如 -

list=[[1,2,3],[2,3,4].[4,5,6]]

如果我做了排序(列表,反向=真)

我得到[[4,5,6],[2,3,4],[1,2,3]而不是[[6,5,4],[4,3,2],[3] ,2,1]

我认为我们必须在某个地方循环。

1 个答案:

答案 0 :(得分:1)

您也需要对子列表进行排序。

>>> lst = [[1,2,3], [2,3,4], [4,5,6]]
>>> sorted([sorted(sublst, reverse=True) for sublst in lst], reverse=True)
[[6, 5, 4], [4, 3, 2], [3, 2, 1]]