检查对象是否是python中的列表列表?

时间:2013-05-03 21:33:19

标签: python list

我们有什么方法可以使用type(obj)检测对象是否在python中列表 - > list

但是我们如何检测对象是否是表单列表的列表:

[['a','b']['a','b'][][]]

2 个答案:

答案 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