如何按降序对 Python 2.7 中的任何列表进行排序?
How to sort ANY list in Python 2.7 in DESCENDING order?
我认为标题足以说明问题....
我是这样尝试的:
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]]
如果我进行了排序(list,reverse=True)
我得到 [[4,5,6],[2,3,4],[1,2,3] 而不是 [[6,5,4],[4,3,2], [3,2,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]]
我认为标题足以说明问题....
我是这样尝试的:
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]]
如果我进行了排序(list,reverse=True)
我得到 [[4,5,6],[2,3,4],[1,2,3] 而不是 [[6,5,4],[4,3,2], [3,2,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]]