Beheben Sie den TypeError: Int Object Is Not Iterable-Fehler in Python

Rohan Timalsina 15 Februar 2024
Beheben Sie den TypeError: Int Object Is Not Iterable-Fehler in Python

In Python wird TypeError ausgelöst, wenn Sie in einer Operation oder einer Funktion ein Objekt mit dem falschen Datentyp verwenden. Beispielsweise führt das Hinzufügen eines Strings und einer Ganzzahl zu einem TypeError.

Der Fehler TypeError: 'int' object is not iterable tritt auf, wenn Sie versuchen, eine nicht iterierbare Ganzzahl zu durchlaufen. Die iterierbaren Objekte in Python sind Listen, Tupel, Wörterbücher und Mengen.

In diesem Tutorial lernen Sie, den Fehler TypeError: 'int' object is not iterable in Python zu beheben.

Beheben Sie den Fehler TypeError: Int Object Is Not Iterable in Python

Sehen wir uns ein Beispiel für eine TypeError-Ausnahme in Python an.

s = "apple"
counter = 0
for i in len(s):
    if i in ("a", "e", "i", "o", "u"):
        counter += 1
print("No. of vowels:" + str(counter))

Ausgang:

Traceback (most recent call last):
  File "c:\Users\rhntm\myscript.py", line 3, in <module>
    for i in len(s):
TypeError: 'int' object is not iterable

Die Ausnahme wird in Zeile 3 im Code for i in len(s) ausgelöst, weil len() einen ganzzahligen Wert (die Länge der angegebenen Zeichenfolge) zurückgibt. Das int-Objekt ist in Python nicht iterierbar, daher können Sie die for-Schleife nicht durch eine ganze Zahl verwenden.

Um diesen Fehler zu beheben, müssen Sie sicherstellen, dass die Schleife über ein iterierbares Objekt iteriert. Sie können die Funktion len() entfernen und einen String durchlaufen.

s = "apple"
counter = 0
for i in s:
    if i in ("a", "e", "i", "o", "u"):
        counter += 1
print("No. of vowels:" + str(counter))

Ausgang:

Number of vowels:2

Oder Sie können auch die Funktion enumerate() verwenden, um über Zeichen eines Strings zu iterieren.

counter = 0
s = "apple"
for i, v in enumerate(s):
    if v in ("a", "e", "i", "o", "u"):
        counter += 1
print("No. of vowels:" + str(counter))

Ausgang:

Number of vowels:2

Mit der Funktion dir() können Sie prüfen, ob das Objekt iterierbar ist oder nicht. Das Objekt ist iterierbar, wenn die Ausgabe die magische Methode __iter__ enthält.

s = "apple"
print(dir(s))

Ausgang:

Überprüfen Sie, ob das Objekt in Python iterierbar ist

Der String s ist iterierbar.

TypeError ist einer der häufigsten Fehler in Python. Es tritt auf, wenn Sie eine Operation oder Funktion mit einem Objekt des falschen Datentyps ausführen.

Der Fehler int object is not iterable wird ausgegeben, wenn Sie über einen Integer-Datentyp iterieren. Jetzt sollten Sie wissen, wie Sie dieses Problem in Python lösen können.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Verwandter Artikel - Python Error