Gibt es eine Möglichkeit, eine "for" -Schleife in Python zu erstellen, die nach jeder Iteration meinen Indexwert verdoppelt?

8

In C ++ kann ich einfach eine for-Schleife wie unten schreiben, die diesen Zweck erfüllt

%Vor%

Gibt es eine Möglichkeit, eine for Schleife in Python zu machen? Oder ist die while -Schleife die einzige Möglichkeit, dies zu tun.

    
Andy Cheng 14.03.2017, 07:01
quelle

6 Antworten

4

for Schleifen inkrementieren nicht; sie iterieren stattdessen über ein iterables.

Sie können eine Generatorfunktion erstellen, die Ihre Zahlenfolge als iterabel erzeugt:

%Vor%

Demo:

%Vor%     
Martijn Pieters 14.03.2017 07:03
quelle
3

Es kann ein Generator geschrieben werden, der ähnlich wie die C ++ for-Schleife einen Ausdruck in Form einer Lambda-Funktion annimmt, um die Schleifenvariable zu manipulieren.

%Vor%     
kazemakase 14.03.2017 07:10
quelle
1

Verwenden Sie den Power-Operator.

%Vor%     
Roland Smith 14.03.2017 07:10
quelle
1

Ein bisschen Kreisverkehr, aber macht den Trick:

%Vor%     
Ignacio Vazquez-Abrams 14.03.2017 07:39
quelle
0

Generator macht die Tricks

%Vor%     
xhg 14.03.2017 07:11
quelle
0

Eine C ++ for-Schleife ist eigentlich nur eine verschleierte while-Schleife.

%Vor%

entspricht

%Vor%

Versuchen Sie also nicht, clever zu sein. Verwenden Sie einfach eine While-Schleife.

    
Marc Poulin 20.03.2017 13:01
quelle

Tags und Links