Вернуть ранг каждого элемента (количество различных меньших значений) с сохранением дубликатов ⇐ Python

Программы на Python
Anonymous
Вернуть ранг каждого элемента (количество различных меньших значений) с сохранением дубликатов

Сообщение Anonymous »

Мне нужно, чтобы для каждого числа в списке было количество различных значений, меньших его, и мне нужен результат, согласованный с входными данными (поэтому дубликаты создают повторяющиеся выходные данные). Мой текущий код объединяет уникальные ключи и возвращает одно значение на каждый уникальный номер:

Код: Выделить всё

   def numbers(nums):
n = nums
# 1,2,3,4,5
counts = {}

newL = list()
newVal = 0
for j in range(len(n)):
if n[j] not in counts:
counts[n[j]] = 0
newL = list(counts.keys())
print(newL)

for i,k in counts.items():
cur = i
for m in newL:
if cur > m:
counts[cur] += 1
else:
pass

val = list(counts.values())

return val

l = [7,7,7,7,7,]
print(numbers(l))
Что я получаю: Ожидается:

Подробнее здесь: https://stackoverflow.com/questions/798 ... -duplicate

Вернуться в «Python»