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:
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.
Verwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung