Gibt den Rang pro Element zurück (Anzahl unterschiedlicher kleinerer Werte), wobei Duplikate erhalten bleibenPython

Python-Programme
Anonymous
 Gibt den Rang pro Element zurück (Anzahl unterschiedlicher kleinerer Werte), wobei Duplikate erhalten bleiben

Post by Anonymous »

Ich möchte, dass für jede Zahl in einer Liste die Anzahl der unterschiedlichen Werte kleiner als diese ist, und ich muss das Ergebnis mit der Eingabe abgleichen (also erzeugen Duplikate doppelte Ausgaben). Mein aktueller Code aggregiert nach eindeutigen Schlüsseln und gibt einen Wert pro eindeutiger Zahl zurück:

Code: Select all

   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))
Was ich bekomme: Erwartet:
  • Code: Select all

    [7, 7, 7, 7, 7]
    -> [0, 0, 0, 0, 0]
  • Code: Select all

    [1, 2, 2, 3]
    -> [0, 1, 1, 2] (Rang eindeutig kleinerer Werte)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post