如题,我们对[1,3,2]这样的数组进行排序,我们想要他的顺序坐标,那么输出就是(从大到小)[1,2,0]
首先,用到了 enumerate 这个内置函数:
我们先看下这个函数的作用:
a = [1,3,2]
for i in enumerate(a): #
print(i)
运行截图
我们可以看出,他把每个数字的坐标存在了第一位
这里我们放出完整代码:
a = [1,3,2]
max_location =sorted(enumerate(a), key=lambda y:y[1],reverse=True)
#读取坐标为 1 的数字 ,然后进行排序
for i in enumerate(a):
print(i)
print(max_location)
运行截图:
这时,每个元素的第一位就是我们想要的
如果你想只要 1,2,0,那么可以加个循环(我帮大家写个函数,可以直接调用)
def location_sort(list_in):
max_location =sorted(enumerate(list_in), key=lambda y:y[1],reverse=True)
#读取坐标为 1 的数字 ,然后进行排序 #reverse是确定排序顺序的
list_out = []
for i in range(len(max_location)):
list_out.append(max_location[i][0])
return (list_out)
print(location_sort([1,3,2]))
截图: