加入收藏 | 设为首页 | 会员中心 | 我要投稿 唐山站长网 (https://www.0315zz.com.cn/)- 数据安全、数据开发、文字识别、图像处理、媒体智能!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

python中set集合怎样使用?一文带你深入了解

发布时间:2022-03-15 13:53:41 所属栏目:语言 来源:互联网
导读:这篇文章给大家详细的介绍了python中set集合的使用,具有一定的借鉴和学习价值,感兴趣的朋友可以参考一下,希望大家阅读完这篇文章能有所收获,下面我们一起来学习一下吧。 一、set 集合 集合(set)是一个无序的不重复元素序列。 可以使用大括号 {} 或者 s
      这篇文章给大家详细的介绍了python中set集合的使用,具有一定的借鉴和学习价值,感兴趣的朋友可以参考一下,希望大家阅读完这篇文章能有所收获,下面我们一起来学习一下吧。
 
    一、set 集合
    集合(set)是一个无序的不重复元素序列。
 
    可以使用大括号 {} 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
 
    二、创建集合
print({"1", "2", "3"})  # {'2', '3', '1'}
print(set("123"))  # {'2', '3', '1'}
print(set((1, 2, 3)))  # {1, 2, 3}
print(set([11,22,33]))  # {33, 11, 22}
    add
 
    添加元素到集合
 
s1 = {"1", "2", "3"}
s1.add("4")
print(s1)  # {'1', '4', '3', '2'}
s1.add("abc")
print(s1)  # {'abc', '1', '4', '2', '3'}
    clear
 
    清空集合中所有元素
 
s1 = {"1", "2", "3"}
s1.clear()
print(s1)  # set()
    discard
 
    从一个集合中删除指定元素,如果元素不成在,什么都不做
 
s1 = {"1", "2", "3"}
print(s1.discard("4"))  # None
print(s1)  # {'2', '1', '3'}
print(s1.discard("1"))  # None
print(s1)  # {'2', '3'}
    remove
 
    删除指定元素,如果元素不存在,抛 KeyError
 
s1 = {"a", "c", "3"}
s1.remove("a")
print(s1)  # {'3', 'c'}
    pop
 
    随意返回集合的一个元素,如果集合为空,抛 KeyError
 
s1 = {"a", "c", "3"}
print(s1.pop())  # 3
    update
 
    根据两个集合的合集,更新自身
 
s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s1.update(s2)
print(s1)  # {'1', 'c', 'a', '3', '2'}
    copy
 
    浅拷贝一个集合
 
s1 = {"1", "2", "3"}
s2 = s1.copy()
print(s2)  # {'2', '1', '3'}
    difference
 
    差集 返回两个集合的不同元素,原来集合不变
 
s1 = {"1", "2", "3"}
s2 = {"1", "2", "4"}
print(s1.difference(s2))  # {'3'}
print("差集:", s1-s2)  # 差集: {'3'}
    difference_update
 
    从一个集合中移除与另一个集合相同的元素
 
s1 = {"1", "2", "3"}
s2 = {"1", "2", "4"}
s1.difference_update(s2)
print(s1)  # {'3'}
    intersection
 
    交集 返回两个集合的交集
 
s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s3 = s1.intersection(s2)
print(s3)
print("交集:", s1 & s2)  # {'2'}
    intersection_update
 
    根据和另一个集合的交集更新自身
 
s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s1.intersection_update(s2)
print(s1)  # {'2'}
    isdisjoint
 
    如果两个集合的交集为空,返回 True,否则返回 Fasle
 
s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s3 = {"a", "b", "c"}
print(s1.isdisjoint(s2))  # False
print(s1.isdisjoint(s3))  # True
    issubset
 
    判断一个集合是否是另一个的子集
 
s1 = {"a", "c", "3"}
s2 = {"a", "c"}
print(s1.issubset(s2))  # False
print(s2.issubset(s1))  # True
    issuperset
 
    判断一个集合是否包含另一个的子集
 
s1 = {"a", "c", "3"}
s2 = {"a", "c"}
print(s1.issuperset(s2))  # True
print(s2.issuperset(s1))  # False
    symmetric_difference
 
    交叉补集 返回两个集合的对称差(两个集合中不同部分的合集)
 
s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s3 = s1.symmetric_difference(s2)
print(s3)  # {'1', 'a', 'c', '3'}
print("交叉补集:", s1 ^ s2)  # {'1', 'c', '3', 'a'}
    symmetric_difference_update
 
    两个集合的对称差(两个集合中不同部分的合集),并更新集合
 
s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s1.symmetric_difference_update(s2)
print(s1)  # {'a', '3', 'c', '1'}
    union
 
    合集 返回两个集合的合集
 
s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s3 = s1.union(s2)
print(s3)  # {'a', '1', 'c', '3', '2'}
print("合集:", s1 | s2)  # {'3', '2', 'c', '1', 'a'}
    不可变集合 frozenset
 
fs = frozenset("python")
print(fs)  # frozenset({'o', 'n', 'y', 'h', 'p', 't'})

(编辑:唐山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读