python初学一(set的处理方式)

一、集合的基本知识:

           1、概念:

                        理解:没有value的字典,即由字典的key组成的字典。

           2、特性:

                      (1)集合的元素没有重复,重复的元素删除。

                      (2)集合的元素是无序的(类似dict)。

                      (3)集合的元素相当于字典的key,因此元素是不可变的,但集合是可变数据类型(可以是 bool值)。

二、集合的创建:

          1、利用系统函数set(iterable)

                             对象是可迭代的。

                            set('abcdefg')                                >>>    无序

                            set([1,2,3,4])                                 》》》  无序

                            set({'name':'liu','age':22})             》》   字典的key组成 ,无序

set1 = set('abcdefaaa')      # 强制转化,set()对象是可迭代的
print(set1)

for i in set1:               # 遍历集合
    print(i)

list1 = list(set1)            # list() 转化,set()也可以转化列表》》》可以用于 制作 随机数。
print(list1)

set2 = set({1:'23','a':'fff'})              # 字典key组成
print(set2)

 三、集合的内部函数:

            1、集合元素增加:

                               set.add()     添加元素

set1 = {1,2,3,'a',}
set1.add('bbbbbbb')
print(set1)       #  {1, 2, 3, 'a', 'bbbbbbb'}

            2、集合元素的清空:

                                set.clear()    

            3、集合元素删除:

                                 1、set.pop()随机删除一个 ,返回删除值。

set1 = {1,2,3,'a',}
set1.pop()
print(set1.pop(),set1)   #  2 {3, 'a'}

                                  2、set.remove() 指定删除,没有报错 

                                  3、set.discard()指定删除,没有不作操作。

             4、集合元素的查看(遍历):

                         1、由于无序,不能用索引,通过for循环遍历所有

                          2、集合和列表可以相互转换,转换后可以用列表的方式操作,但是每次转换的列表都是不一样的

四、集合的运算:

            1、交集:

                         (1)set1 & set2         (2)set1.intersection(set2)

            2、并集:

                          (1)set1 | set2         (2)set1.union(set2)

            3、差集:

                           (1)set1 - set2         (2)set1.difference(set2)

            4、交叉补集:

                         (1)set1 ^ set2         (2)set1.symmetric_difference(set2)

set1 = {'a','b','f',1,3,2,2,'a'}
set2 = {'a','b','ggggg'}
print(set1)
print(set1 & set2,set1.intersection(set2))
print(set1 | set2)
print(set1 - set2)
print(set1 ^ set2)    #交叉补集

    

           

猜你喜欢

转载自blog.csdn.net/qq_16555103/article/details/83714705