python中的集合

一.集合(set)
1.定义:集合是不重复的数据结构
2.定义集合的方式:
  a. s = {1,2,3,2,3}

  b. s = set([3,6,3,0])


注意:a中如果花括号里面为空,则s是字典类型,b中set()则是定义了空的集合。工厂方法定义集合时,括号里面是可迭代的对象。
3.实现列表去重:
   a.用集合实现
     li = [1,2,3,3,4,2]
     s = set(li)
     li = list(s)

     print li


   b.用字典实现
     li = [1,2,3,3,4,2]
     d = {}.fromkeys(li)

     print d.keys()


4.集合的增删改查
   a.增:如果集合里面存在所要加的,则没有改变,若不存在则添加在集合里
     s = {1,2,3,3,6,9}
     s.add(1)
     s.add(8)
     print s
     s1 = {'w','z','w'}
     s.update(s1)

     print s



注意:集合是无序的,所以不支持索引、切片、重复、连接,但支持成员操作符和循环。
    b.删:
     s = {1,'a',2,3,'n',4,5,7}
     s.pop()        :无序删除
     s.pop()
     print s
     s.remove("a")  :删除其中的一个元素
     print s
     s.discard(1)   
     print s

     s.clear()


注意:remove若删除的元素不存在,则报错,discard删除不存在的元素时,不做任何事。

    c.改:update

    d.查:关系测试操作

       s1 = {1,2,3,6}

       s2 = {2,5,6,8}

      交集:print s1 & s2  / s1.intersection(s2)
      并集:print s1 | s2  / s1.union(s2)
      差集:print s1 - s2  /  s2 - s1 / s1.difference(s2)

      对等差分:print s1 ^ s2 / s1.symmetric_difference(s2)



**可变数据类型:列表、字典、集合
**不可变数据类型:数据类型、字符串、元组
--可变数据类型实现某个功能,直接改变原来的可变数据类型
--不可变数据类型实现某个功能,直接有返回值,改变时需要将结果赋值给新的变量

猜你喜欢

转载自blog.csdn.net/weixin_40555670/article/details/78995315