• 技术文章 >Python技术 >Python基础教程

    python集合如何检测内部特定元素?

    小妮浅浅小妮浅浅2020-12-08 14:56:19原创2444

    集合中的元素有很多种类型,不能用简单的数值或者文字来查询元素,当我们要进行测试某个元素在不在集合中该怎么办呢?针对这项查询,我们可以使用成员检测,在名称上相信也不用小编过大解释就能理解。成员检测不光可以应用于列表,在集合中也是通用的。下面就python集合检测内部特定元素的方法分享给大家。


    成员检测能够检查某个特定的元素是否被包含在一个序列中,例如字符串、列表、元组或集合。在 Python 中使用集合的一个主要的优点是,它们在 Python 中为成员检测做了深度的优化。例如,对集合做成员检测比对列表做成员检测高效地多。如果你是计算机科班出身,我们可以说,这是因为集合中成员检测的平均时间复杂度是 O(1)的而列表中则是 O(n)。

    下面的代码展示了使用列表做成员检测的过程:

    # Initialize a list
    possibleList = ['Python', 'R', 'SQL', 'Git', 'Tableau', 'SAS', 'Java', 'Spark', 'Scala']
     
    # Membership test
    'Python' in possibleList

    集合中也可以做类似的操作,只不过集合更加高效。

    # Initialize a set
    possibleSet = {'Python', 'R', 'SQL', 'Git', 'Tableau', 'SAS', 'Java', 'Spark', 'Scala'}
    # Membership test
    'Python' in possibleSet

    由于「possibleSet」是一个集合,而且「Python」是集合「possibleSet」中的一个元素,这可以被表示为「Python' ∈ possibleSet」如果你有一个不属于集合的值,比如「Fortran」,这可以被表示为「Fortran' ∉ possibleSet」。

    拓展:集合的去重

    list1 = [11, 22, 33, 11, 22, 11, 44, 11]
    print(set(list1))

    固定集合

    不可变的容器,无序,元素唯一

    创建固定集合- 使用构造函数(frozenset)

    fs = frozenset()
    fs_num = frozenset([1, 2, 3, 4])


    以上就是使用成员检测在集合中查询特定元素的方法,比我们用来筛查列表还要高效,小伙伴们尝试过列表的查询后,不妨也试一试集合哦。

    专题推荐:python集合检测
    品易云
    上一篇:python中不同推导式怎么写 下一篇:python中的索引是什么?如何在列表中索引?

    相关文章推荐

    • Python集合要怎么用• python集合可变吗?• python集合能做什么• 新增元素在python集合中有哪些方法?• python集合与序列遍历的方法一样吗• python集合中的操作符有哪些?怎么用?• python集合和列表推导式哪种方法去重快

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网