python对数组进行排序,并输出排序后对应的索引值+1
测试用例:
输入:
3
1 4 5
输出:
1 2 3
方法一:通过匿名函数实现
n = int(input())
list1 = []
list1 = input().split()
list2 = []
i = 0
while i < n:
m = int(list1[i])
list2.append(m)
i += 1
p=[]
res=sorted(range(len(list2)), key=lambda k: list2[k])
for i in res:
p.append(i+1)
print (p) # 正序输出索引,从小到大
方法二:利用numpy库
import numpy as np
n = int(input())
list1 = []
list1 = input().split()
list2 = []
i = 0
while i < n:
m = int(list1[i])
list2.append(m)
i += 1
res=np.argsort(list2)
for i in res:
p.append(i+1)
print (p) # 正序输出索引,从小到大