Wie lass ich eine Liste in Python 3?

Ich habe den folgenden Code gefunden, der mit python2 kompatibel ist

from itertools import izip_longest def grouper(n, iterable, padvalue=None): "grouper(3, 'abcdefg', 'x') --> ('a','b','c'), ('d','e','f'), ('g','x','x')" return izip_longest(*[iter(iterable)]*n, fillvalue=padvalue) 

Allerdings funktioniert das nicht mit Python 3 . Ich bekomme den folgenden Fehler

 ImportError: cannot import name izip_longest 

Kann jemand helfen?

Ich möchte meine Liste von [1,2,3,4,5,6,7,8,9] auf [[1,2,3],[4,5,6],[7,8,9]]

Bearbeiten

Jetzt Python3 kompatibel

Code unten wird von der gewählten Antwort angepasst. Ändern Sie einfach den Namen von izip_longest auf zip_longest .

 from itertools import zip_longest def grouper(n, iterable, padvalue=None): "grouper(3, 'abcdefg', 'x') --> ('a','b','c'), ('d','e','f'), ('g','x','x')" return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue) 

2 Solutions collect form web for “Wie lass ich eine Liste in Python 3?”

In Python 3's itertools gibt es eine Funktion namens zip_longest . Es sollte das gleiche tun wie izip_longest von Python 2.

Warum die Namensänderung? Sie können auch feststellen, dass itertools.izip ist nun in Python 3 gegangen – das ist, weil in Python 3, die zip eingebaute Funktion nun einen Iterator zurückgibt, während in Python 2 gibt es eine Liste. Da es keine Notwendigkeit für die izip Funktion gibt, ist es auch sinnvoll, die _longest Variante für die Konsistenz umzubenennen.

Nach dem doc :

 >>> s = [1,2,3,4,5,6,7,8,9] >>> n = 3 >>> list(zip(*[iter(s)]*n)) [(1, 2, 3), (4, 5, 6), (7, 8, 9)] 
  • Auf Wiederholung prüfen (Python)
  • Wie man auf numpy Standard globalen Zufallszahlengenerator zugreift
  • ForiegnKey Feld Serializer im Django Rest Rahmen
  • Bekomme nth Zeile von String in Python
  • Python-Centypen von_Buffer-Mapping mit Kontext-Manager in Speicher-Mapping-Datei (mmap)
  • PyQt Class funktioniert nicht für den zweiten Gebrauch
  • Wie ruf ich den Typ sicher auf eine zufällige Datei in Python?
  • Python threading.timer - Wiederholungsfunktion alle 'n' Sekunden
  • Qt Tooltip wie zu verhindern, dass der Text nach der eingebauten Verzögerung verschwindet?
  • Übergeben von dateibasierten Objekten zu Ctypes Callbacks
  • Fehler in der Pythonschlange
  • Python ist die beste Programmiersprache der Welt.