2016-04-07 8 views
-4

Ich weiß, dass es eine andere Antwort gibt, aber das ist für komplexe Benutzer. Ich bin ein einfacher Python-Benutzer, der vor ein paar Tagen gestartet ist. Also brauche ich eine einfache AntwortWas in diesem Kontext aufzählt [Python]

Ich versuche, diese Codezeile zu verstehen. Meistens der Aufzählungsteil. Könnte jemand bitte was aufzählen tut.

f = open("solutions.txt", "r") 
searchlines = f.readlines() 
for i, line in enumerate(searchlines): 

Vielen Dank im Voraus

+0

Mögliches Duplikat von [Was bedeutet enumerieren?] (Http://stackoverflow.com/questions/22171558/what-does-enumerate-mean) –

+1

Haben Sie [die Dokumente] gelesen (https: //docs.python .org/3/library/functions.html # aufzählen), bevor Sie diese Frage stellen? –

+0

@MattBall Ja ich habe aber ich brauche eine einfache Erklärung im Kontext –

Antwort

0

enumerate wird verwendet, um einen Zeilenindex, die i Variable zusammen mit dem line Zeichenfolge zu erzeugen, die die i-te Zeile in der Textdatei ist. Einen Index von einem iterablen zu erhalten, ist solch ein allgemeines Idiom auf irgendeinem iterable, dass enumerate eine elegante Weise anbietet, dies zu tun. Sie könnten natürlich nur einen Ganzzahlzähler i initialisieren und nach dem Lesen jeder Zeile inkrementieren, aber das aufzählen tut das für Sie. Der Hauptvorteil ist die Code-Lesbarkeit: Die i Variableninitialisierungs- und Inkrementierungsanweisungen würden Buchführungscode sein, der nicht unbedingt notwendig ist, um die Absicht zu zeigen, was diese Schleife zu tun versucht. Python zeichnet sich dadurch aus, dass die Geschäftslogik des Codes kurz und prägnant ist. Sie können sich Raymond Hettinger Präsentation anschauen, um mehr über idiomatische Python von diesen ausgezeichneten notes zu lernen.

+0

Danke für die Hilfe. Leider habe ich das meiste nicht verstanden. Wie gesagt, ich bin ein Anfänger und weiß immer noch nicht viel über Python. Kannst du es einfacher sagen? –

+0

'f = open (" solutions.txt "," r ")' öffnet die Datei und weist sie f zu, dann liest 'f.readlines()' alle Zeilen in den Dateien und fügt sie in eine Liste ein die Variable 'searchlines'. Eine Liste in Python ist ein "iterables" Objekt. Die folgende for-Schleife (die in anderen Sprachen foreach genannt wird) durchläuft jede Zeile in der Liste. Aufzählung gibt Ihnen etwas mehr: den Index i, der dem Index der Zeile in der Liste entspricht (und somit auch die Zeilennummer, obwohl bei 0 beginnend). Sie sollten diesen Code versuchen, indem Sie Folgendes hinzufügen: print ('{0}: {1}'. Format (i + 1, Zeile)) in der Schleife. – Cyb3rFly3r

+0

Vielen Dank. Ich glaube nicht, dass ich es jetzt ändern würde, da ich es endlich zur Arbeit gebracht habe –

Verwandte Themen