Python 排序多个排序数组
这是一个有趣的问题: 我对数组进行了排序Python 排序多个排序数组,python,arrays,Python,Arrays,这是一个有趣的问题: 我对数组进行了排序 a1 : [50,30,20,5] a2 : [30,10,3,1] a3 : [50,40,30,10] 每个数组都排序了,我需要排列数组,其中数组有最高的数字,如果有一条领带,考虑数组中的下一个元素。< /P> 在上面的例子中,50是a1和a3之间的平局,因此我们比较30和40,因此订单为 a3、a1、a2 如何在python中实现这一点?实现这一点的算法应该是什么。在Python中比较两个列表会比较默认情况下类似的元素,因此您所要做的就是将列表放
a1 : [50,30,20,5]
a2 : [30,10,3,1]
a3 : [50,40,30,10]
每个数组都排序了,我需要排列数组,其中数组有最高的数字,如果有一条领带,考虑数组中的下一个元素。< /P> 在上面的例子中,50是a1和a3之间的平局,因此我们比较30和40,因此订单为
a3、a1、a2如何在python中实现这一点?实现这一点的算法应该是什么。在Python中比较两个列表会比较默认情况下类似的元素,因此您所要做的就是将列表放入列表中并对其排序
my_arrays = [
[50,30,20,5],
[30,10,3,1],
[50,40,30,10]
]
my_arrays.sort(reverse=True)
print my_arrays
结果:
[
[50, 40, 30, 10],
[50, 30, 20, 5],
[30, 10, 3, 1]
]
通过与人类语言词典的类比,该算法被称为“词典顺序”。要确定和是在土豚
之前还是之后,您需要比较第一个字母,它们都是a
,因此您需要比较第二个字母,n
位于a
之后,这样您就得到了答案。只需将“字母”替换为“列表元素”,它与您想要的算法相同。