syntor hat geschrieben:Kannst du mir erlären, was du hier genau machst?
Steht ja eigentlich schon da.
Die x-Werte in der Liste haben einen konstanten Abstand, hier 0.25.
Den Wert, hier 0.6, dividiere ich gerade durch diesen Abstand, ergibt 0.6/0.25 = 2.4.
Ist die erste Dezimalstelle kleiner 5, liefert Abrunden des vorigen Ergebnisses den gesuchten Index, also 4<5 -> 2.4 = 2.
Ist die erste Dezimalstelle größer/gleich 5, liefert Aufrunden den gesuchten Index. Beispiel:
0.63/0.25 = 2.52 -> 3
Hat der Wert den gleichen Abstand zu zwei benachbarten x-Werten, muß man sich natürlich entscheiden, on Auf- oder Abrunden:
0.625/0,25 = 2.5 -> 3 (nach obiger Beschreibung)
Nachtrag: Sehe gerade, daß meinem vorherigen Beitrag statt
0.3/0.25 -> 3
dies
0.63/0.25 -> 3
hätte stehen müssen.
Nachtrag 2: Dein bereits in Python umgesetzter Ansatz sieht aber auch ganz gut aus. Hatte den erst jetzt gesehen, nachdem ich meinen ersten Beitrag gepostet habe. Das kommt davon, wenn man zuviel Tabs gleichzeitig öffnet

Würde jetzt aber mit meinen laienhaften Kenntnissen sagen, daß man bei deiner Umsetzung die Art der Rundung (kaufmännisch, mathematisch) nicht beeinflussen kann. Lasse mich aber gerne eines Besseren belehren.