如何测试'int'类型列表中的每个项目?

vur*_*rp0 16 python int list

说我有一个数字列表.如何检查列表中的每个项目是否为int?
我已经四处寻找,但未能找到任何相关内容.

for i in myList:
  result=isinstance(i, int)
  if result == False:
    break
Run Code Online (Sandbox Code Playgroud)

会起作用,但在我看来看起来非常丑陋和不熟悉.
有没有更好的(更pythonic)方式这样做?

Dra*_*ric 41

>>> 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
>>> 
Run Code Online (Sandbox Code Playgroud)


Wir*_*uce 7

以下陈述应该有效.它使用any内置和生成器表达式:

any(not isinstance(x, int) for x in l)
Run Code Online (Sandbox Code Playgroud)

如果列表中存在非int,则返回true.例如:

>>> any(not isinstance(x, int) for x in [0,12.])
True
>>> any(not isinstance(x, int) for x in [0,12])
False
Run Code Online (Sandbox Code Playgroud)

all内置也可以完成相同的任务,而有些人可能会认为这是使稍微更有意义(见德拉甘答案)

all(isinstance(x,int) for x in l)
Run Code Online (Sandbox Code Playgroud)