📜  Python – 列表列表中的反向行排序

📅  最后修改于: 2022-05-13 01:55:48.323000             🧑  作者: Mango

Python – 列表列表中的反向行排序

有时,在处理数据时,我们可能会遇到需要按降序对矩阵行进行排序的问题。这类问题在 Web 开发和数据科学领域都有应用。让我们讨论可以执行此任务的某些方式。

方法 #1:使用循环 + sort() + reverse
可以使用循环遍历每一行来解决此问题。 sort 和 reverse 可用于对行执行反向排序。

# Python3 code to demonstrate 
# Reverse Row sort in Lists of List
# using loop
  
# initializing list 
test_list = [[4, 1, 6], [7, 8], [4, 10, 8]]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# Reverse Row sort in Lists of List
# using loop
for ele in test_list: 
    ele.sort(reverse = True) 
  
# printing result 
print ("The reverse sorted Matrix is : " + str(test_list))
输出 :
The original list is : [[4, 1, 6], [7, 8], [4, 10, 8]]
The reverse sorted Matrix is : [[6, 4, 1], [8, 7], [10, 8, 4]]

方法 #2:使用列表理解 + sorted()
这是可以执行此任务的另一种方式。在这种情况下,我们以类似的方式执行,只需使用列表推导将逻辑打包在一行中以提供紧凑的替代方案。

# Python3 code to demonstrate 
# Reverse Row sort in Lists of List
# using list comprehension + sorted()
  
# initializing list 
test_list = [[4, 1, 6], [7, 8], [4, 10, 8]]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# Reverse Row sort in Lists of List
# using list comprehension + sorted()
res = [sorted(sub, reverse = True) for sub in test_list]
  
# printing result 
print ("The reverse sorted Matrix is : " + str(res))
输出 :
The original list is : [[4, 1, 6], [7, 8], [4, 10, 8]]
The reverse sorted Matrix is : [[6, 4, 1], [8, 7], [10, 8, 4]]