. Advertisement .
..3..
. Advertisement .
..4..
Are you landed in TypeError when working on a Python Project? Getting an error warning is no big deal, but the determination to get through it is what makes you a programmer. Being new to Python programming, you may encounter Type errors, and TypeError: argument of type ‘int’ is not iterable is one of those errors.
As you have seen, the error involves an integer. Whenever you try to use a function on any value that is not the correct type, then you may see the typeError warning. If one tries to iterate over an integer, they get TypeError: argument of type ‘int’ is not iterable error.
Let’s discuss how to fix TypeError: argument of type ‘int’ is not iterable
How To Fix TypeError: argument of type ‘int’ is not iterable
The most common reason to have this error warning message is when using the membership test operators (in and not in) with an integer. In order to fix the TypeError: argument of type ‘int’ is not iterable, you need to either convert the integer into a string or use the correct assignment.
See an example of how this error occurs
myString = 15
print('a' in myString)
Error message:
TypeError: argument of type 'int' is not iterable
Here, in this code, we have tried an integer value with a membership test operator that returns the error.
Convert the Integer to string
To avoid the error, the best way is to convert the integer value to the string. It is to remember that string is iterable, and that is the reason we convert the integer to the string. Let’s have a look at the code:
myString = 33708800
# print('a' in str(myString))
print('37' in str(myString))
Output
True
Check the Integer value stored in the Variable
You need to check the value of an integer assigned to a variable so that you can correct the assignment and fix the type error. You can simply check if an unexpected type of value is stored, if yes, then you can just reassign the variable.
Here is an example to check out how to do this
sample_list = 170
if not isinstance(sample_list, list):
sample_list = []
print('x' in sample_list)
Output
False
In the case sample_list variable stores no list, you can set it to an empty list before trying the operator ‘in’. the same method can be used with any object like ‘tuple’, ‘dict’, ‘string’, etc.
To check if the value is an integer or not, you can follow this before using membership test operators
sample_list = 170
if not isinstance(sample_list, int):
print('x' in sample_list)
else:
print('value is an integer')
Check The Type of the value
It is always the safest way to check if the value added is of expected or unexpected type, such as a ‘list’, ‘str’ or ‘dict’.
Now, let’s check the type of Value
if isinstance(sample_list, list):
print('x' in sample_list)
else:
print('value is not a list')
Use Membership test Operator
As we have discussed above, the membership test operators are ‘in or not in’. after going through all the processes, we use the ‘in’ operator. For instance, ‘x in s’ returns ‘True’ if ‘x’ used in the test is a member of ‘s’, or else it returns ‘False’.
Code sample 1:
string1 = 'TypeError: argument of type int is not iterable'
print('TypeError' in string1)
Output
True
Code sample 2:
string2 = 'TypeError: argument of type int is not iterable'
print('Python' in string2)
Output
False
Conclusion
With the process discussed to fix TypeError: argument of type ‘int’ is not iterable, I wish you a quick and correct coding!
Don’t forget to drop a message below!
Leave a comment