2017-06-13 3 views
-2

Warum bekomme ich einen InvalidSyntax Fehler beim Ausführen dieser Codezeile?Python: Ungültiger Syntaxfehler für List Comprehension

y=[0 for iii range(500)] 
+4

Sie fehlen das Schlüsselwort 'in' im Listenverständnis. –

+0

Ihr Problem Maly, ist, dass Sie den 'in'-Operator in Ihrem Listenverständnis fehlen. Deshalb beschwert sich Python. Dein Code sollte eigentlich "y = [0 für iii im Bereich (500)]" sein. Beachten Sie das 'in' zwischen den' iii' und 'range (500)' Teilen. –

+1

BTW, wenn Sie eine Liste von 500 Nullen wünschen, tun Sie einfach y = [0] * 500'. Es ist effizienter als 'y = [0 für i im Bereich (500)]'. –

Antwort

0

Ja, Ihre Syntax ist falsch, wie in den Kommentaren darauf hingewiesen. Hier sind einige Möglichkeiten:

y = [0 for _ in range(500)] 

oder

y = [0] * 500 

(Credits: PM2 Ring)

oder

y = map(int, '0' * 500) 

oder (nur, wenn Sie numpy installiert)

import numpy as np 
y = np.zeros(500) 

Die vierte Option macht eine memset und ist wirklich schnell.

Verwandte Themen