我们有什么方法可以使用type(obj)
检测对象是否在python中列表 - > list
。
但是我们如何检测对象是否是表单列表的列表:
[['a','b']['a','b'][][]]
答案 0 :(得分:44)
使用isinstance()
检查特定类型:
>>> isinstance([], list)
True
使用all()
来测试所有元素是否属于某种类型:
all(isinstance(elem, list) for elem in list_of_lists)
all()
短路;如果任何测试返回False
,则循环终止并返回False
。只有当除了一个元素之外的所有元素都返回True
时,all()
才需要检查可迭代的每个元素。
答案 1 :(得分:3)
如果您想确保列表中的每个项都是一个列表,您可以执行以下操作:
if all(isinstance(i, list) for i in lst):
# All of the items are lists
isinstance(i, list)
是撰写type(i) == type(list)
或type(i) == list)
的更好方式。all()
,则True
会返回True
。如果不是False
,它将返回True
。