python - 在Python中如何查看一个列表是否包含另一个列表?

标签 python python-3.x

如何检查一个列表是否包含其他列表? 我需要它,以便

[['牛'], 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/

相关文章:

python - 如何使用字符串列表过滤 pandas DataFrame

python - 单击按钮时如何更改日期?

python - 使用Python 3删除数据框中多个指定列中具有空值的特定行

python - 与 aiohttp 网络服务器共享状态

python - 具有默认选项的数据类参数选择

python - Docker 容器/图像正在运行但没有端口号

python - 为什么输出不显示 k1、k2、k3?

python - 以 UTF-32 编码的单个字符的长度

python - 动态添加路线到 Pyramid

python - 如何获取子类的文件名?