Python函数,该函数将列表作为输入并返回带有已排序元素索引的列表

时间:2018-12-19 22:01:52

标签: python python-3.x algorithm list

我正在尝试制作一个python函数,在其中给出一个特定的列表,它返回一个列表,该列表包含元素的排序位置(不以0开头)。 例如:

list = [9,3,4,1]
function(list) = [4,2,3,1]

list = [2,2,6,5]
function(list) = [1,1,3,2]

1 个答案:

答案 0 :(得分:3)

创建一个字典,键为列表元素,值为位置。为了获得唯一值,请先将列表设置为

list1 = [2,2,6,5]
d = {x: i for i, x in enumerate(sorted(set(list1)), start=1)}
[d[k] for k in list1]

输出

[1, 1, 3, 2]