„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie erhalte ich eine Liste vom „map()“-Iterator von Python 3?

Wie erhalte ich eine Liste vom „map()“-Iterator von Python 3?

Veröffentlicht am 21.12.2024
Durchsuche:533

How Do I Get a List from Python 3's `map()` Iterator?

Abrufen zugeordneter Listen in Python 3.x: map() als Iterator

In Python 3.x die Funktion „map()“. gibt einen Iterator anstelle einer Liste zurück. Diese Änderung wurde implementiert, um die Speichereffizienz zu verbessern und die Leistung zu optimieren. Es stellt jedoch eine Herausforderung dar, wenn Sie die zugeordneten Werte als Liste zur weiteren Verarbeitung abrufen müssen.

Lösung: Konvertieren des Iterators in eine Liste

Um die abzurufen Zugeordnete Werte als Liste. Verwenden Sie die Funktion list(), um den von map() zurückgegebenen Iterator zu konvertieren:

mapped_list = list(map(chr, [66, 53, 0, 94]))

Dieser Code gibt eine Liste mit den zugeordneten Zeichen zurück: ['B', '5', '\x00', '^'].

Alternative: Verwenden eines Listenverständnisses

Eine prägnantere Möglichkeit, eine Liste in eine Liste zugeordneter Werte umzuwandeln, ist die Verwendung einer Liste Verständnis:

mapped_list = [chr(c) for c in [66, 53, 0, 94]]

Dieser Ausdruck erzeugt das gleiche Ergebnis wie das Map()-Beispiel oben.

Direktes Durchlaufen des Kartenobjekts

In bestimmten Szenarien müssen Sie das möglicherweise nicht konvertieren Objekt einer Liste zuordnen. Sie können das Kartenobjekt direkt mit einer for-Schleife durchlaufen:

for c in map(chr, [65, 66, 67, 68]):
    print(c)

Dieser Code gibt die Zeichen „ABCD“ aus, ohne eine unnötige Liste zu erstellen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3