Функция Python, которая принимает список в качестве входных данных и возвращает список с индексами отсортированных элементов - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь создать функцию 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 голосов
/ 20 декабря 2018

Создайте dict с ключом, являющимся элементами списка, и значением, являющимся позицией.Чтобы получить уникальное значение, необходимо сначала преобразовать список в

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...