我试图找到一种简单的方法来查看列表的子列表是否包含另一个子列表。如果它有一个我想要a = 1,如果它有两个层我想要= 0.我到目前为止尝试了:
newElemLines = [[1, 42], [2, 42]]
try:
newElemLines[0][0][0]
a = 1
except ValueError:
a = 0
newElemLines也可能在以下示例中看起来,这应该导致a = 1
newElemLines = [[[1, 42], [2, 42]], [[1, 42], [2, 42]]]
不幸的是,这不起作用。有人能帮帮我吗? 编辑:检查零元素就足够了。
答案 0 :(得分:0)
In [10]: def how_deep(lst, level=0):
...: if isinstance(lst, list):
...: return max(how_deep(l, level+1) for l in lst)
...: return level - 1
...:
In [11]: how_deep([1,2])
Out[11]: 0
In [12]: how_deep([[1, 42], [2, 42]])
Out[12]: 1
In [13]: how_deep([[[[1],[2]],[3],[4],5],6,7,[8,[[[[[10]]]]]]])
Out[13]: 6