Python学习笔记之set

一 、set基础

       set和ldict类似,也是一组key的集合,但是不能存储value值。由于key值不能重复,所以,在set中,没有重复的key。

     set的创建 

     我们创建set可以使用set() 函数,将一个列表转成一个集合,

        

        注意:因为集合和字典的key一样,不能有list,set ,tuple 数据类型,因此我们使用list强制转成set时,list必须是单层列表,列表元素不能有list、set、tuple、dict等数据类型

    我们使用 “{ }”的方式创建集合

    

    当我们需要创建一个空集合时,我们不能使用“{ }”这样python会误认为我们在创建一个空字典

     

      我们使用set() 函数创建一个空集合。

        

二 、set的特性

        在list数据类型中,其支持,索引、切片、重复、连接、与成员操作符等等。但是在set中我们的set不支持索引、切片、重复、连接等操作,支持成员操作符,因为set是无序且无重复元素的集合。

        无序:我们添加元素的顺序和存储的顺序不一致。

       

        成员操作符 : in 、 not in:

        

        当然set也支持循环。

            

三、set的增删
(一)增加元素

        (1)增加单个元素add()

            

      (2)增加多个元素

                 

            对于已经存在的元素将忽略,只添加没有的元素

(二)元素的删除

        (1)set.pop()方法

                随机删除集合中的一个元素,并且返回删除的元素

               

        (2)set.remove()方法

                从集合set中删除指定的元素,无返回值

                

                当删除的元素不存在时,报错。

                

      (3)set.clear()方法

                将集合的元素全部删除,只剩下一个空的集合

                

三、set的操作
    (一)并集
            (1)使用set方法函数set.union(set1)

                      

            (2)使用 | 

                      

    (二)交集

            (1)内置方法函数

                    set.intersection(set1) 求集合set和集合set1的交集,并且将交集以集合的形式返回。

                    

                    set.intersection_update(set1)  求集合set和set1的交集并将这个交集赋值给set集合,该函数无返回值。

                    

           (2)&

                  我们可使用操作符来“&”来对两个集合求交集,以集合的形式返回交集

                    

   

    (三)差集
           (1)内置方法函数    

                       set.difference(set1) 方法函数求集合set对集合set1的差集,其以集合的形式返回差集,等价

                于set - set.intersection(set1)

                

                       set.difference_update(set1) 方法函数求集合set对集合set1的差集,并将差集赋给set,该函数

                数无返回值,等价于set=set - set.intersection(set1)

                 

         (2)-

               使用符号“-”也可以对两个集合求差集,该符号返回集合的差集

                

    

    (三)对等差分

                set.symmetric_difference(set1) 函数方法用来求取两个集合的对等差分,该函数的返回值是对等

         差分集合,这个等价于set.union(set1) - set.intersection(set1) 

                

    (四)set是不是set1的子集

                set.issubset(set1)  函数用来判断set集合是不合适set1集合的子集,如果是,返回True,否则返回

          False

                

       

    (五)set是不是set1的父集
            set.issuperset(set1)  判断集合set是不是set1的父集,如果是返回True,否则返回False

            
    
    (六)set合set1是否有交集

            set.isdisjoint(set1)  函数用来判断集合set和集合set1是不是没有交集,如果没有交集返回True,如果有交

     集返回False

            



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值