初学python第五天

集合

  熟悉:

  集合的定义:1、不同元素组成。

        2、无序的。

        3、集合中元素必须是不可变类型

    set(分个输出字符串)

代码:

s = set('hello')
print(s)
    结果:{'h', 'e', 'o', 'l'}

   set去重作用:

代码:

s = [1,5,8,3,'d',8]
s = set(s)
print(s)
    结果:{1, 3, 5, 8, 'd'}

   add(插入):类型不定

代码:

s = {1,5,8,3,5}
s.add('123')
print(s)
    结果:{1, '123', 3, 5, 8}

s = {1,5,8,3,5}
s.add(555)
print(s)
    结果:{1, 3, 5, 8, 555}

  

    clear(清空):清空所有

代码:

s = {1,5,8,3}
s.clear()
print(s)
    结果:set()

    copy(拷贝):浅拷贝

代码:

s = {1,5,8,3}
v = s.copy()
print(s)
print(v)
    结果:{8, 1, 3, 5}
            {8, 1, 3, 5}    

    pop(随机删除):

代码:

s = {1,5,8,3}
s.pop()
print(s)
    结果:{1, 3, 5}

    remove(指定删除):如果不存在会报错

代码:

s = {1,5,8,3,'d',4546}
s.remove(8)
print(s)
    结果:{1, 4546, 3, 5, 'd'}

s = {1,5,8,3,'d',4546}
s.remove(163)
print(s)
    报错结果:Traceback (most recent call last):
  File "F:/pythonTest/Test02/Test.py", line 4, in <module>
    s.remove(163)
KeyError: 163

    discard(指定删除):不存在时不会报错

代码:

s = {1,5,8,3,'d',4546}
s.discard(5)
print(s)
    结果:{1, 4546, 3, 8, 'd'}


s = {1,5,8,3,'d',4546}
s.discard(163)
print(s)
    不报错结果:{1, 4546, 3, 5, 8, 'd'}

  重点:

    intersection交集:符号是&,交集是两个集合共有的元素。

代码:

s = {1,5,8,3,'d'}
s1 = {1,'aikang',3}
v = s.intersection(s1)
print(v)
    结果:{1, 3}


s = {1,5,8,3,'d'}
s1 = {1,'aikang',3}
v = s&s1
print(v)
    结果:{1, 3}

    union并集:符号是 | ,两个集合并在一起去除重复值。

代码:

s = {1,5,8,3,'d'}
s1 = {1,'aikang',3}
v = s.union(s1)
print(v)
    结果:{1, 3, 5, 8, 'aikang', 'd'}



s = {1,5,8,3,'d'}
s1 = {1,'aikang',3}
v = s|s1
print(v)
    结果:{'aikang', 1, 3, 5, 8, 'd'}

    差集:存在顺序,如第一个减第二个,就是说除了第一个里边的还剩下什么是自己特有的

代码如下:

s = {1,5,8,3,'d'}
s1 = {1,'aikang',3}
print(s-s1)
print(s1-s)
    结果:{8, 'd', 5}
            {'aikang'}

    .symmetric_difference交叉补集:符号 ^  返回两个集合中不是共同的元素。

代码:

s = {1,5,8,3,'d'}
s1 = {1,'aikang',3}
v = s1.symmetric_difference(s)
print(v)
    结果:{'aikang', 5, 8, 'd'}


s = {1,5,8,3,'d'}
s1 = {1,'aikang',3}
v = s^s1
print(v)
    结果:{5, 8, 'd', 'aikang'}

    .difference_update差集赋值回去:

代码:

s = {1,5,8,3,'d'}
s1 = {1,'aikang',3}
s.difference_update(s1)
print(s)
    结果:{'d', 5, 8}


s = {1,5,8,3,'d'}
s1 = {1,'aikang',3}
s = s-s1
print(s)
    
    结果:{8, 5, 'd'}

    isdisjoint查询有没有交集:没有交集返回True

代码:

s = {1,5,8,3,'d'}
s1 = {1,'aikang',3}
print(s.isdisjoint(s1))
    结果:False


s = {1,5,8,3,'d'}
s1 = {'aikang'}
print(s.isdisjoint(s1))   
    结果:True

猜你喜欢

转载自www.cnblogs.com/aikang525/p/10227199.html