Ich habe ein Programm, das Bericht und Inventar anzeigt, und ich fragte mich gerade, wie ich das folgende in ein Listenverständnis statt einer for-Schleife setzen könnte ... Ich bin irgendwie ein noob in all diesen Jargon python aber von i wissen, was das alles ist, das in Form einer for-Schleife ist, kann auch als Liste Verständnis ausdrücken .... Jede Hilfe wäreVon einer for-Schleife zu einem Listenverständnis
def rowSum(TotSize,data,row,col):
"""Calculates the sum of each row in a given 2 dimensional list and stores
it into a given one dimensional list"""
for i in range(row):
sum = 0
for j in range(col):
sum += data[i][j]
TotSize[i] = sum
Wollen Sie wirklich ein Listenverständnis? Das sieht für mich nach einem Auftrag für "map" und "sum" aus (obwohl 'map' und Listencomprehensions wirklich nur verschiedene Arten sind, dieselbe Idee auszudrücken). –
"alles, was in Form einer For-Schleife ist, kann auch als Listenverständnis ausgedrückt werden" - Das ist nicht wirklich wahr. Jede Liste, deren Elemente ** explizit ** durch eine Funktion einer anderen Liste definiert werden können, kann als Listenverständnis geschrieben werden: 'newList = [f (x) für x in anderer Liste]'. Dies entspricht in vielen Sprachen map: 'newList = otherList.map (f)'. Einige Listen können auf diese Weise nicht einfach dargestellt werden, wie z. B. 1D-Zellular-Automaten, 2D-dynamische Programmiertabellen oder Funktionen mit Nebeneffekten (wie die "Summe" in Ihrer rowSum). (Sie würden Summen schreiben wie Sie, oder verwenden Sie 'reduce') – ninjagecko
" und speichert es in "- tun Sie das nicht. Gibt Werte über den Rückgabewert zurück. –