Du kannst dir aus dem Generator eine Liste bauen lassen mit
1 | realfilelist = list(filelist)
|
Auf diese Liste kannst du nun auch per Index zugreifen.
Diese Methode hat aber den Nachteil, dass diese Liste (bei entsprechend
vielen Dateien auf der Festplatte) sehr groß werden kann und somit viel
Speicher belegt.
Das ist der Grund, warum die Generatoren in Python eingeführt wurden.
Der Generator braucht fast keinen Speicherplatz, da er die einzelnen
Elemente (in diesem Fall die Namen und Inhalte der jedes Verzeichnisses)
erst generiert werden, wenn sie auch tatsächlich benötigt werden. Damit
darf die Sequenz der generierten Elemente sogar endlos sein.
Diese Vorteile bringen aber die Einschränkung mit sich, dass die
Elemente nur sequentiell gelesen werden können.