2016-06-19 9 views
0

Ich las über eine article Listenkomprehensionen erklären und kam in dem folgenden Beispiel, die eine Liste von nicht-Primzahlen bauen soll:Funktionalität Liste Verständnis mit zwei for-Schleifen

noprimes = [j for i in range(2, 8) for j in range(i*2, 50, i)]

Ich habe versucht, Das Auflisten der Listen wird dadurch gebremst, dass beide For-Schleifen separat in einer Shell ausgeführt werden, aber die Funktionalität der Anweisung ist mir immer noch unklar. Es scheint, dass die erste Schleife die Liste der Zahlen von 2 bis 8 durchläuft und dann jede Zahl in j speichert, die dann an die zweite (verschachtelte?) Schleife übergeben wird, die Zahlen aus dem aktuellen Wert von i mal 2 erzeugt bis 50 in Schritten von i.

Was habe ich die tatsächliche Funktionalität des Listenverständnisses beschrieben?

+0

* Warum * können Sie es selbst nicht testen? –

Antwort

2

Diese Liste Verständnis führt das gleiche wie der folgenden Code:

noprimes = [] 
for i in range(2,8): 
    for j in range(i*2, 50, i): 
     noprimes.append(j) 
Verwandte Themen