集合set

本文深入探讨了集合和固定集合的概念、创建方式、运算规则及常用方法。集合是一种可变的、无序的、存储唯一元素的数据结构,而固定集合则是不可变的集合。文章详细解释了集合的创建、运算如交集、并集、补集等,并介绍了集合的函数和方法。同时,固定集合的特性、创建和运算也得到了充分讨论。
摘要由CSDN通过智能技术生成
集合是可变的容器
集合内的数据对象都是唯一的(不能重复)
集合是无序的存储结构
集合内的元素必须是不可变对象
集合是可迭代对象
集合是相当于只有键没有值的字典

创建集合

创建空集合:

    set()

创建非空集合的字面值:

    s = {1, 2, 3}

集合的构造函数:

    set()               创建空集合
    set(iterable)       用可迭代对象创建一个新的集合

    示例:

        s = set()
        s = {2, 3, 5, 7}
        s = set("ABC")                      #s = {'A', 'B', 'C'}
        s = set("ABCCBA")                   #s = {'A', 'B', 'C'}
        s = set({1:'1', 2:'2', 5:'5'})      #s = {1, 2, 5}
        s = set(('ABC', '123', True))       
        s = {True, None, "ABC", (1, 2, 3)}

集合的运算:

    交集  &  并集  |  补集  -  对称补集  ^  子集  <  超集  >

    & 用于生成两个集合的交集:

        s1 = {1, 2, 3}
        s2 = {2, 3, 4}
        s1 & s2         #{2, 3}

    | 用于生成两个集合的并集:

        s1 | s2         #{1, 2, 3, 4}

    - 用于生成两个集合的补集:

        s1 - s2         #{1}    属于s1但不属于s2
        s2 - s1         #{4}    属于s2但不属于s1

    ^ 用与生成两个集合的对称补集:

        s1 ^ s2         #{1, 4}

    > 判断一个集合是另一个集合的超集:

        s1 = {1}
        s2 = {1, 2}
        s2 > s1     #True

    < 判断一个集合是另一个集合的子集:

        s1 < s2     #True

    ==/!= 判断两个集合是否相同:

        s1 == s2    #False
        s1 != s2    #True

    in/not in 运算:

        同列表和字典规则相同

##  用于集合的函数:

    len(x)      返回集合长度
    max(x)      返回集合的最大值元素
    min(x)      返回集合的最小值元素
    sum(x)      返回集合中所有元素的和
    any(x)      真值测试
    all(x)      真值测试

集合是可迭代对象,可以用于for语句中


集合的方法:

    >>>help(set)

集合推导式:

    是用可迭代对象创建集合的表达式

    语法:

        {表达式 for 变量 in 可迭代对象 [if 真值表达式]}

    示例:

        numbers = [1, 3, 5, 7, 9, 3, 4, 5, 6, 7]
        s = {x ** 2 for x in numbers if x % 2 == 1}
        print(s)

固定集合frozenset:

固定集合是不可变的,无序的,含有唯一元素的集合

作用:

    固定集合可以作为字典的键,也可以作为集合的值

固定集合的构造函数:

    frozenset()             创建一个空的固定集合
    frozenset(iterable)     用可迭代对象创建一个新的固定集合

    示例:

        fz = frozenset()
        fz = frozenset("ABCAB")
        fz = frozenset([1, 2, 3, 4, 5])

固定集合的运算:

    交集  &  并集  |  补集  -  对称补集  ^

    in/not in 

    <  <=  >  >=  ==  !=

固定集合的方法:

    相当于集合的全部方法去掉修改集合的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值