美文网首页
Python -- 集合

Python -- 集合

作者: 墨凌风起 | 来源:发表于2020-05-09 20:56 被阅读0次

    集合Set
    1. 无序不重复元素的集,用{}或者set() 创建.创建空集合必须用set(),{}创建的是空字典

    创建

    baket = {'apple','orange','apple','pear','banana','orange'}
    print(baket) #{'apple', 'pear', 'banana', 'orange'}

    baket1 = set('abcdefgesdtfgh')
    baket2 = set('lkjfdfgesdtfgh')
    print(baket1) #{'f', 'b', 'e', 'h', 'c', 's', 'g', 'd', 'a', 't'}
    print(baket2) #{'d', 'j', 'g', 'l', 's', 'f', 'e', 'h', 't', 'k'}

    访问

    添加 如果元素已存在,不进行任何操作

    baket.add('mello')
    print(baket) #{'apple', 'banana', 'pear', 'mello', 'orange'}

    baket.update({'xigua','xihongshi','apple'})
    print(baket) #{'apple', 'pear', 'mello', 'xigua', 'orange', 'banana', 'xihongshi'}

    移除,元素不存在会错误

    baket.remove('apple')
    print(baket) #{'pear', 'mello', 'xigua', 'orange', 'banana', 'xihongshi'}

    baket.remove('cat') #KeyError: 'cat'

    移除,元素不存在不会报错

    baket.discard('cat')
    print(baket) #{'banana', 'xihongshi', 'pear', 'xigua', 'mello', 'orange'}
    baket.discard('orange')
    print(baket) #{'banana', 'xihongshi', 'pear', 'xigua', 'mello'}

    随机删除集合的一个元素

    set集合的pop方法会对集合进行无序排列,然后删除无须排列的左边第一个元素

    print(baket.pop())

    集合个数

    print(len(baket1))

    清空集合

    baket1.clear()

    print(baket1) #set()

    是否存在

    print('pear' in baket) #True
    print('dog' in baket1) #False

    differece() 返回多个集合的差集

    print(baket1.difference(baket2,('a','b','d'))) #{'c'}

    differece_update() 移除集合中的元素,该元素在指定集合也存在

    baket1.difference_update(baket2) #{'b', 'c', 'a'}
    print(baket1)

    symmetric_differece() 返回两个集合不重复的元素集合

    print(baket1.symmetric_difference(baket2))
    print("symmetric_differece:" ,end='')
    print(baket1) #{'a', 'b', 'c'}
    print(baket2) #{'a', 'b', 'c'}

    symmetric_differece_update() 移除当前集合在另一个指定集合相同的元素,并将另一个指定集合种不同的的元素插入当前元素中

    baket1.symmetric_difference_update(baket2) #{'b', 'c', 'a'}
    print("symmetric_difference_update:" ,end='')
    print(baket1) #{'a', 's', 't', 'b', 'c', 'j', 'k', 'e', 'h', 'f', 'd', 'g', 'l'}

    intersection() 返回集合的交集

    baket1.intersection(baket2) #{'a', 'b', 'c'}
    print("intersection:" ,end='')
    print(baket1)

    intersection_update() 返回集合的交集

    baket1.intersection_update(baket2)
    print(baket1)

    两个集合是否包含相同元素,是返回True

    print(baket1.isdisjoint(baket2))

    s.issubset(s1) 判断s1集合是否是s集合的子集

    print(baket1.issubset(baket2))
    print(baket1.issubset(('a','b','d')))

    s.issuperset(s1) 判断s集合是否是s1集合的子集

    print(baket1.issuperset(baket2))
    print(baket1.issuperset(('a','b','d')))

    union() 返回两个集合的并集

    print(baket1.union(baket2)) #{'s', 'l', 'g', 'j', 'h', 'f', 't', 'k', 'e', 'd'}

    相关文章

      网友评论

          本文标题:Python -- 集合

          本文链接:https://www.haomeiwen.com/subject/pzblnhtx.html