Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 排序多个排序数组_Python_Arrays - Fatal编程技术网

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
之后,这样您就得到了答案。只需将“字母”替换为“列表元素”,它与您想要的算法相同。