在Python3中,知道列表中只存在整数数据的有效方法是什么

在Python3中,知道列表中只存在整数数据的有效方法是什么,python,list,Python,List,我试图实现一种检查列表元素是否为整数的方法,然后,如果不是整数,我想抛出一个断言错误 我发现的一种方法是迭代列表并检查每个元素数据类型。但是有没有有效的方法来测试同样的问题 我正在努力实现这样的目标 def add_edge(self, edge): assert len(edge) != 2, "edge list length not equal to 2, enter a list of length 2" assert is_any_element_non

我试图实现一种检查列表元素是否为整数的方法,然后,如果不是整数,我想抛出一个断言错误

我发现的一种方法是迭代列表并检查每个元素数据类型。但是有没有有效的方法来测试同样的问题

我正在努力实现这样的目标

def add_edge(self, edge):
   assert len(edge) != 2, "edge list length not equal to 2, enter a list of length 2"
   assert is_any_element_non_int, "expected data type to be int, but found another"

就效率而言,建议与发电机一起使用:

a = [1,2,3] 
b = ["1", 2]
print(all(isinstance(item, int) for item in a)) # True
print(all(isinstance(item, int) for item in b)) # False
试着这样做:

if all(isinstance(x,int) for x in myList) == True:
  # YEAH TRUE
else:
  # ALAS EXCEPTION throw error

assert all(边缘中i的isinstance(i,int)
名称
edge
意味着您希望它是一个包含两个元素的列表,而不是一个包含少于或多于两个元素的列表。@deceze谢谢,解决了我的问题@切普纳真的!,但是我在另一个函数中需要这个