How to test if every item in a list of type ‘int’?

There are a few different ways to do it. For example, if your list includes only numbers:

>>> my_list = [1, 2, 3.25]
>>> all(isinstance(item, int) for item in my_list)
False

>>> other_list = range(3)
>>> all(isinstance(item, int) for item in other_list)
True
>>> 

Anyways, this solution doesn’t work as expected if your list includes booleans, as remarked by @merlin:

>>> another_list = [1, 2,False]
>>> all(isinstance(item, int) for item in another_list)
True

If your list include booleans you should use type instead of isinstance (it’ a little slower, but works as you expect):

>>> another_list = [1, 2, False]
>>> all(type(item) is int for item in another_list)
False
>>> last_list = [1, 2, 3]
>>> all(type(item) is int for item in last_list)
True

Leave a Comment