我正在尝试制作一个python函数,在其中给出一个特定的列表,它返回一个列表,该列表包含元素的排序位置(不以0开头)。 例如:
list = [9,3,4,1]
function(list) = [4,2,3,1]
或
list = [2,2,6,5]
function(list) = [1,1,3,2]
答案 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]