列表按绝对值逆序排序,并保存下标 python

列表按绝对值逆序排序,并保存下标

// An highlighted block
x = [5,-6,-3,8]
b = sorted(enumerate(x), key=lambda x:abs(x[1]),reverse=True)  # x[1]是因为在enumerate(a)中,a数值在第1位
c = [x[0] for x in b]

print(b)
print(c)

结果:
[(3, 8), (1, -6), (0, 5), (2, -3)]
[3, 1, 0, 2]

你可能感兴趣的:(python,list)