我有两个列表,需要按照它们的最大元素进行比较,如果相等,则按照第二大的元素进行比较,如果仍然相等,则按照第三大的元素依次迭代比较整个数组。
例如:
list1= [0,2,3,6,12]
list2= [1,2,3,6,12]
list3= [1,4,5,8,12]
list4= [1,4,5,9,12]
所以 list4 > list3 > list2 > list1。
我编写了一个实现此功能的函数:
def compare(x,y):
if sorted(x)==sorted(y):
return "Tie"
for index in range(len(x)-1,-1,-1):
if sorted(x)[index]>sorted(y)[index]:
return x
elif sorted(x)[index]<sorted(y)[index]:
return y
我在想是否有更加简洁高效的写法,因为它看起来并不是很符合 Python 的风格。
编辑:通过使用“<”和“>”比较列表将使列表从最小索引到最大索引排序,而不是从最大索引到最小索引。使用 reversed 可以让">"和"<"成为最简单的解决方案。