Python Int Object Is Not Iterable エラーの修正
このエラー自体は自明です。 'int' object is not iterable
、それは整数で反復を実行できないことを明確に言っています。整数は 1 桁であり、反復可能なリストではありません。いくつかの例を見てみましょう。
Python の 'int' object is not iterable
エラーの修正
整数を返すか格納するものはすべて反復可能ではありません。それは常識です。慣れていない場合は、Python での反復について理解しましょう。反復は、整数ではなく、リストに対して実行できます。たとえば、整数に対して反復のループを実行することはできません。それは意味がありません。次のコードを見てください。
# integer
number = 123
# loop over an integer
for i in number:
print(i)
上記のコードを実行すると、回避しようとしているのと同じエラーが発生します。上記のコードでは、number
は単一の値 123
を持つ整数です。その上でループを実行することはできません。データ型とそれに関連する機能について混乱している場合は、魔法のメソッドを見つけることで簡単に解決できます。この場合、整数を使用します。見てください。
# integer
number = 123
# built-in / magic methods of an integer
print(dir(number))
上記のコードの出力は次のようになります。
[
"__abs__",
"__add__",
"__and__",
"__class__",
"__cmp__",
"__coerce__",
"__delattr__",
"__div__",
"__divmod__",
"__doc__",
"__float__",
"__floordiv__",
"__format__",
"__getattribute__",
"__getnewargs__",
"__hash__",
"__hex__",
"__index__",
"__init__",
"__int__",
"__invert__",
"__long__",
"__lshift__",
"__mod__",
"__mul__",
"__neg__",
"__new__",
"__nonzero__",
"__oct__",
"__or__",
"__pos__",
"__pow__",
"__radd__",
"__rand__",
"__rdiv__",
"__rdivmod__",
"__reduce__",
"__reduce_ex__",
"__repr__",
"__rfloordiv__",
"__rlshift__",
"__rmod__",
"__rmul__",
"__ror__",
"__rpow__",
"__rrshift__",
"__rshift__",
"__rsub__",
"__rtruediv__",
"__rxor__",
"__setattr__",
"__sizeof__",
"__str__",
"__sub__",
"__subclasshook__",
"__truediv__",
"__trunc__",
"__xor__",
"bit_length",
"conjugate",
"denominator",
"imag",
"numerator",
"real",
]
ご覧のとおり、上記のリストにはイテレータメソッドがありません。リストに関しては、何が違うのか見てみましょう。
# list
lst = [1, 2, 3]
# loop over a list
for j in lst:
print(j)
# built-in /magic methods of a list
print(dir(lst))
上記のコードではエラーは発生しません。リストを反復処理できます。上記のコードを実行すると、その中に _iter_
関数があり、リストで反復を使用できることを示しています。
Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません