Ich habe die folgenden for
Schleife und if
Zustand. Ich möchte es in eine Codezeile ändern, indem ich das Listenverständnis von Python verwende. Aber ich habe keine Ahnung, warum es nicht funktioniert, da es Syntaxfehler mit '^' auf die if-Anweisung zeigt.List Verständnis mit und für Schleife
original:
for i in range(len(lines)):
if (lines[i].find('('))!=-1:
lines[i] = lines[i][0:(lines[i].find('(')-1)]
geändert:
lines = [[lines[i][0:(lines[i].find('(')-1)]] for (i in range(len(lines))) if ((lines[i].find('('))!=-1)]
Ich wollte nur die Liste Verständnis Methodik verwenden, die als eine von Python-Funktionen sein. Ich hoffe, dass ich etwas Neues lernen kann, da ich keine Programmiererfahrung habe. Danke für die Hilfe, Freunde!
Sie habe zu viele Klammern, von denen einige syntaktisch falsch platziert sind Entfernen Sie _all_ Klammern mit Ausnahme der in den Funktionsaufrufen – DyZ
Zunächst können Sie versuchen, die Klammern um '(i im Bereich (len (Zeilen)))' zu entfernen ... –
Grundsätzlich möchten Sie jedoch wahrscheinlich eine einfache Schleife verwenden, damit Sie einen Verweis auf "lines [i] .find ('(') 'anstatt es immer wieder neu zu berechnen, was sehr ineffizient ist. Listen Sie Verständnis auf, aber benutzen Sie sie nicht, wenn sie Ihren Code unlesbar machen (dem Sie sich schnell nähern) oder sie zwingen Sie dazu, ineffizient zu sein (wie in diesem Fall) –