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

            



猜你喜欢

转载自blog.csdn.net/m0_37717595/article/details/80156425