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

Nil*_*wal 27 python list

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

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

[['a','b']['a','b'][][]]
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 44

使用isinstance()检查特定类型:

>>> isinstance([], list)
True
Run Code Online (Sandbox Code Playgroud)

使用all()以测试是否所有的元素都是某种类型的:

all(isinstance(elem, list) for elem in list_of_lists)
Run Code Online (Sandbox Code Playgroud)

all()短路; 如果任何测试返回False,则循环终止并False返回.只有当除了一个元素之外的所有元素都返回时True,才all()需要检查iterable的每个元素.


Ble*_*der 5

如果你想确保列表中的每个项目都是一个列表,你可以这样做:

if all(isinstance(i, list) for i in lst):
    # All of the items are lists
Run Code Online (Sandbox Code Playgroud)
  • isinstance(i, list)是更好的书写方式type(i) == type(list)type(i) == list)
  • all()True如果序列中的所有项目都是则返回TrueFalse如果没有,它将返回True