Python检查列表是否嵌套

jas*_*son 14 python list

我有一个列表,有时它是嵌套的,有时它不是.根据它是否嵌套,延续是不同的.如何检查此列表是否嵌套?True或者False应该输出.

例:

[1,2,3] - > False

[[1],[2],[3]] - > True

Ffi*_*ydd 37

您可以使用isinstance生成器表达式结合使用any.这将检查list原始外部列表中对象的实例.

In [11]: a = [1, 2, 3]

In [12]: b = [[1], [2], [3]]

In [13]: any(isinstance(i, list) for i in a)
Out[13]: False

In [14]: any(isinstance(i, list) for i in b)
Out[14]: True
Run Code Online (Sandbox Code Playgroud)

请注意,一旦到达有效的元素(在这种情况下,如果元素是列表),any它将立即返回True,因此您不会不必要地迭代整个外部列表.