【发布时间】:2017-02-27 02:03:25
【问题描述】:
我正在尝试对嵌套列表A 进行排序。 len(A) = n 和 len(A[i]) = d 对于所有 i。我想使用A[i] 的第一个元素进行排序。但是如果A[i][0] == A[j][0] 那么我想使用下一个元素进行排序,即A[i][1]。如果A[i][1] == A[j][1] 则使用下一个元素A[i][2],依此类推。
下面是n = 4 和d = 2 的示例。因为[3,6] 和[3,7] 的第一个元素相同,所以根据第二个元素进行比较。
A = [[3,7], [4,5], [3, 6], [5,1]]
A_sorted = [[3,6], [3,7], [4,5], [5,1]]
在 Python 2.7 中,我使用了自定义比较函数。
A.sort(cmp=comp_func)。但我试图在没有 cmp 参数选项的 Python 3 中执行此操作。所以我需要改用key 参数。如何在 Python 3 中实现这种自定义排序?
【问题讨论】:
-
A_sorted = sorted(A)在 python2 和 python3 中都给出了所需的结果。不需要key函数。
标签: python python-3.x sorting key