Ich habe eine Datendatei, die Einheitspreise 1 bis 4 zusammen mit anderen Feldern hat. Für einige der Zeilen sind alle vier Einheitspreise angegeben und für einige wenige sind die Einheitspreise leer. Ich habe versucht, den durchschnittlichen Stückpreis für jede Zeile zu berechnen, indem ich Platz durch Null ersetze, aber wenn ich den Durchschnitt mache, möchte ich den Stückpreis mit Leerstelle ignorieren und ihn durch die verbleibende Anzahl von Stücken teilen.Erhalte dynamisch die Anzahl der Teil-Nr. von Feldern, die durch Liste der Listen Iterieren
Eingang: -
10 20 30 40
30 50 60
20 10
Code: -
round(sum(float(v) if v else 0.0 for v in i[2:6])/4,2)
Ausgang: -
25
46.66
15
Gibt es eine Möglichkeit, die Anzahl der Werte zu bekommen, in die Liste durch Ignorieren von Leerzeichen? Irgendwelche Eingaben würden geschätzt werden. Vielen Dank.
Ist i ein iterabler Wert, der die Zahl in jeder Spalte als String enthält und leere Spalten als Leerzeichen darstellt? – iafisher
Ich bin eine Liste und Eingabe ist eine Liste von Listen .... Ich bin durch Eingabe input und für jeden i Ich mache einige Berechnungen ... In meinem Fall ist ich ein einzelner Datensatz und inputm ist 'n' Nein. von Aufzeichnungen ... – Teja
so haben Sie eine funktionierende Lösung. Versuchen Sie einen "kürzeren" Weg zu finden? – RomanPerekhrest