集合中的元素类型很多,不能使用简单的值或者文本来查询元素。当我们要测试一个元素是否在集合中时,我们应该怎么做呢?对于这个查询,我们可以使用member detection,相信不用小编过多的解释,名字也能看懂。成员资格检查不仅适用于列表,也适用于集合。给大家分享一下检测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 脚本中指定文件12/05
- ♥ 如何在python中组织多行注释09/06
- ♥ python如何编写多行字符串09/13
- ♥ python中的包是什么11/09
- ♥ python如何查询一个列表中不同元素的个数?11/22
- ♥ 如何从python命令行退出11/18
内容反馈