如何检查它是python中的列表或列表列表

met*_*r23 0 python python-2.7

我有两个清单

 list1 = ['a', 'b', 'c']
 list2 = [['a', 'b', 'c'], ['e', 'f', 'g']]
Run Code Online (Sandbox Code Playgroud)

现在我必须找到

Is list1 is list of list
Expected result "False"

Is list2 is list of list
Expected result is "True"
Run Code Online (Sandbox Code Playgroud)

如何实现这一目标

Mox*_*all 8

如果您想知道列表中的任何内容是否为列表:

any(isinstance(a, list) for a in list1) 
Run Code Online (Sandbox Code Playgroud)

如果您想知道列表中的所有内容是否都是列表:

all(isinstance(a, list) for a in list1)
Run Code Online (Sandbox Code Playgroud)

这利用了将生成器表达式传递给all().

  • 你甚至可以避免使用双括号:`any(isinstance(a,list)for a list1)`它会在找到True后立即停止计算.它更具可读性 (6认同)