如何检查一个列表是否包含其他列表? 我需要它,以便
[['牛'], 12, 3, [[4]]]
会输出True
,而类似
['牛', 12, 3, 4]
将输出False
。
最佳答案
如果您还想查找列表的子类,那么您应该使用 isinstance
:
def any_list_in(obj):
return any(isinstance(item, list) for item in obj)
any
一旦条件为 True
就会停止,因此只需要检查所需数量的项目。
>>> any_list_in([['cow'], 12, 3, [[4]]])
True
>>> any_list_in(['cow', 12, 3, 4])
False
obj 中 item 的 isinstance(item, list)
是 generator expression其工作原理类似于 for 循环或列表理解。它也可以写成(更长,稍慢,但也许这样更好理解):
def any_list_in(obj):
for item in obj:
if isinstance(item, list):
return True
return False
关于python - 在Python中如何查看一个列表是否包含另一个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42195183/