美文网首页
Python集合

Python集合

作者: 黄褐色猫头鹰 | 来源:发表于2018-11-05 19:08 被阅读0次
    #Python集合
    #集合set是一个无序的不重复的元素序列(这点和java相同)
    #集合set的创建方式: { } 或者 set(), 创建一个空集合必须用set(), 而不能用{}, 空{}是用来创建空集合的
    
    #定义集合时可以有重复元素, 但是会被去重
    var_set1 = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
    print(var_set1) #{'pear', 'banana', 'apple', 'orange'}
    var_set2 = set('abcdeabcdef')
    var_set3 = set(('a', 'b', 'c', 'm', 'n'))
    print(var_set2) #{'d', 'b', 'c', 'e', 'f', 'a'}
    print(var_set3) #{'a', 'b', 'm', 'n', 'c'}
    
    #集合间的运算
    print(var_set2 - var_set3)  #{'d', 'f', 'e'}  set2 包含 set3中不包含的元素
    print(var_set2 | var_set3) #{'c', 'm', 'd', 'e', 'b', 'n', 'f', 'a'} set2和set3的并集
    print(var_set2 & var_set3) #{'b', 'a', 'c'} set2和set3的交集
    print(var_set2 ^ var_set3) #{'m', 'e', 'n', 'f', 'd'} set2和set3互不包含的元素
    
    #集合元素的添加和移除
    var_set1.add('pine')
    var_set1.update('123') #参数可以是序列,字典
    print(var_set1) #{'pear', 'apple', '2', 'pine', 'orange', 'banana', '1', '3'}
    
    var_set1.remove('1') #如果要删除的元素不存在, 会报错
    var_set1.discard('2'); var_set1.discard('3')
    var_set1.discard('notExisted') #如果要删除的元素不存在, 不会报错
    var_pop = var_set1.pop() #随机删除一个元素, 并返回该元素
    print(var_set1)
    
    #集合相关的函数和方法
    var_set1.clear() #清空集合
    print(len(var_set1)) #0 集合的长度
    print(var_set2.difference(var_set3)) #{'e', 'f', 'd'} set2包含, set3不包含的元素
    
    var_set2.difference_update(var_set3) #将所有set3中存在的元素从set2中去除
    print(var_set2) #{'d', 'e', 'f'}
    
    print({'1', '2', '3'}.intersection({'2', '3'}, {'2'})) #{'2'} 返回交集
    
    var_intersect = {'1', '2', '3'}
    var_intersect.intersection_update({'2', '3'}, {'2'})
    print(var_intersect) #{'2'} 取交集并更新
    
    print({2, 3}.isdisjoint({4, 5})) #True 判断是否有交集, 没有返回True
    print({2, 3, 4}.issuperset({4})) #True 判断参数是否是子集
    print({5}.issubset({4, 6})) #False 判断是否是参数的子集
    
    var_d1 = {'a', 'b'}; var_d2 = {'c', 'd', 'a'}
    print(var_d1.symmetric_difference(var_d2)) #{'d', 'c', 'b'} 返回两个集合中不重复的元素的集合
    
    var_d1.symmetric_difference_update(var_d2) #更新为两个集合不重复元素的集合
    print(var_d1) #{'d', 'c', 'b'}
    
    print({1}.union({2})) #{1, 2} 返回两个元素的并集, 不做更新
    
    
    

    相关文章

      网友评论

          本文标题:Python集合

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