Python-Beitrittsliste

Mit der Methode join() k√∂nnen Sie ein iterierbares Objekt wie eine Liste in einen String umwandeln. Sie ist das Gegenteil der Methode split(). Wenn Sie versuchen, diese Methode zu verwenden, um einen Wert, der kein iterierbares Objekt ist, in eine Liste einzufugen, sto√üen Sie auf den "TypeError: can only join a iterable‚" Fehler.

In diesem Leitfaden werden wir daruber sprechen, was dieser Fehler bedeutet und wie er funktioniert. Wir werden ein Beispiel dieser Liste durchgehen, damit Sie lernen, wie sie funktioniert.

TypeError: can only join a iterable

Sehen Sie sich unsere Fehlermeldung an: TypeError: kann nur einem Iterable beitreten.

TypeErrors werden ausgelöst, wenn Sie versuchen, eine Operation fur einen Wert auszufuhren, dessen Datentyp diese Operation nicht unterstutzt. Die Nachricht nach dem Fehlertyp teilt uns mit, dass wir versuchen, einen Wert zu verknupfen, der kein iterierbares Objekt ist.

Mit der Methode join() können Sie nur iterierbare Elemente wie ein Liste oder ein Tupel. Dies liegt daran, dass die Join-Methode jedes Element in einer Sequenz durchläuft und sie zu einer Zeichenfolge hinzufugt. Wenn ein Wert nicht iterierbar ist, kann dieser Vorgang nicht ausgefuhrt werden.

Dieser Fehler tritt häufig auf, wenn Sie versuchen, einen Wert zu verbinden, der gleich None ist.

Ein Beispielszenario

Lasst uns ein Programm fur einen Käsehändler erstellen, der eine Käseliste bestellt. Wir fragen einen Benutzer, ob er die Käse in aufsteigender oder absteigender Reihenfolge sortiert haben möchte. Lassen Sie uns zunächst eine Käseliste definieren:

cheeses = ["Parmesan", "English Cheddar", "Feta", "Roquefort", "Brie"]< br>

81 % der Teilnehmer gaben an, dass sie sich nach dem Besuch eines Bootcamps hinsichtlich ihrer Berufsaussichten im Tech-Bereich sicherer fuhlten. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate mit dem Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

Als Nächstes gehen wir um den Benutzer nach der Reihenfolge zu fragen, in der die Käseliste angezeigt werden soll:

order = input("Möchten Sie, dass die Käse in aufsteigender (ASC) oder absteigender (DESC) Reihenfolge erscheinen? ")

Wir werden eine "if‚"-Anweisung verwenden, um die Antwort, die ein Nutzer einfugt, in einen booleschen Wert zu ubersetzen:

Wenn ein Benutzer den Wert "ASC‚" eingibt, wird die Liste in aufsteigender Reihenfolge sortiert. Andernfalls wird die Liste in umgekehrter Reihenfolge sortiert.

Als Nächstes verwenden wir die sort() Methode um unsere Liste zu sortieren:

cheeses = Cheeses.sort(reverse=reverse)

Wir beziehen uns auf die zuvor definierte "reverse‚"-Variable. Dadurch k√∂nnen wir der sort()-Methode mitteilen, ob die r wir m√∂chten, dass unsere K√§se in aufsteigender oder absteigender Reihenfolge sortiert werden.

Da wir nun unsere Käse sortiert haben, werden wir sie zu einer Zeichenfolge zusammenfugen und auf der Konsole ausgeben:< br>

Die Methode join() verbindet alle K√§sesorten aus den "K√§se‚" Liste in einen String. Jeder K√§se wird durch ein Leerzeichen und ein Komma getrennt. Wir haben diese Zeichen in unseren Code in Anfuhrungszeichen eingeschlossen, bevor wir die Methode join() aufgerufen haben.

Lassen Sie unser Programm ausfuhren:

Möchten Sie die Käse in aufsteigender (ASC) oder absteigender (DESC) Reihenfolge erscheinen? ASC

beitreten

Unser Code gibt einen Fehler zuruck.

Die Lösung

Unser code fragt den Benutzer nach der Reihenfolge, in der die Käseliste erscheinen soll. Unser Code funktioniert in Zeile 12 nicht mehr. Hier verbinden wir unsere Käseliste zu einem String.

Das Problem ist, dass der Wert von "K√§se‚" in unserem Code gleich None wird. Dies liegt daran, dass wir den Wert der Sortierung( )-Methode in eine neue Variable.

Die Methode sort() sortiert eine Liste direkt. Sie ändert eine vorhandene Liste. Die Methode sort() gibt keine neue Liste zuruck. Dies bedeutet, dass Wenn wir den Wert von Cheeses.sort(reverse=reverse) einer Variablen zuweisen, wird der Wert dieser Variable zu None.

Um dieses Problem zu lösen, mussen wir die Variablendeklaration in der Codezeile entfernen, in der wir unsere Käsesorten sortieren:

cheeses.sort(reverse=reverse)

Dieser Code sortiert unsere K√§seliste. Der Wert von "K√§se‚" entspricht der sortierten Liste und nicht Keine. Lassen Sie uns unseren Code ausfuhren und sehen, was passiert:

"Karriere-Karma trat in mein Leben ein, als ich es am dringendsten brauchte, und half mir schnell, ein Bootcamp zu absolvieren. Zwei Monate nach meinem Abschluss habe ich meinen Traumjob gefunden, der meinen Werten und Lebenszielen entspricht!"

Venus, Software Engineer bei Rockbot

Möchten Sie, dass die Käse in aufsteigender (ASC) oder absteigender (DESC) Reihenfolge angezeigt werden? ASC

Ihre sortierten Käsesorten sind: Brie, English Cheddar, Feta, Parmesan, Roquefort

Unser Code gibt erfolgreich eine sortierte Käseliste zuruck. Versuchen wir, unsere Käse in absteigender Reihenfolge zu sortieren:

Möchten Sie die Käse in aufsteigender (ASC) oder absteigender (DESC) Reihenfolge? DESC

Ihre sortierten Käsesorten sind: Roquefort, Parmesan, Feta, English Cheddar, Brie

Unser Code ist in der Lage, unsere Listen sowohl in aufsteigender als auch in absteigender Reihenfolge zu sortieren.

Schlussfolgerung

Der Fehler "TypeError: can only join a iterable‚" wird verursacht, wenn Sie versuchen, dies zu tun Verknupfen Sie einen Wert, der nicht mit einer Zeichenfolge iterierbar ist.

Dies kann passieren, wenn Sie den Wert einer integrierten Liste zuweisen -Methode wie sort() in eine neue Variable und versuchen, das Ergebnis dieser Operation mit einem String zu verbinden. Sie können diesen Fehler beheben, indem Sie sicherstellen, dass der Wert, den Sie zu einer Zeichenfolge zusammenfugen möchten, ein iterierbarer Wert ist, z. B. eine Liste oder ein Tupel.

Jetzt sind Sie bereit, diesen Fehler in Ihrem Code wie ein Profi zu beheben!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method