Sie können dafür kein Listenverständnis verwenden. Die Liste wird erst dann an einen Namen gebunden, wenn das Verständnis beendet ist. Daher kann der Ausdruck, der jeden Wert (nach dem ersten) erstellt, nicht darauf verweisen.
Wenn Sie in der Lage sein müssen, die Liste als Ausdruck zu erstellen, legen Sie Ihre aktuelle Schleife in eine Funktion, die Sie aufrufen können. Sie könnten dann darüber nachdenken, es in einen Generator zu konvertieren, anstatt eine Liste zurückzugeben, aber das ist eine separate Design-Wahl.
Ein letzter Punkt: Ihr Code produziert Mächte von 2, aber das ist nicht, wie Sie sie berechnen. Wenn das wirklich alles, was Sie benötigen, können Sie können schaffen die gleiche Leistung mit einer Liste Verständnis:
order = [2**i for i in range(4)]
Sie können zwar die Anzahl der Ergebnisse spezifizieren (zB 4
in meinem Verständnis), anstelle einer Obergrenze zu den Werten (zB 10
in Ihrer Originalschleife).
hab es geschafft! Vielen Dank!!! –