zoukankan      html  css  js  c++  java
  • python:数据类型set

    一、集合

      集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变数据类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。以下是集合最重要的两点:

        去重,把一个列表变成集合,就自动去重了

        关系测试,测试两组数据之前的交集、差集、并集等关系。

    1.集合的创建

    1 set1 = set({1, 2, 'barry'})
    2 set2 = {1, 2, 'barry'}
    3 print(type(set1),type(set2))#相同
    4 print(id(set1),id(set2))#不同

    2.去重

    1 li = [11, 22, 33, 11, 22, 55, 66]
    2 li = set(li)
    3 print (li, type(li))

    3.集合的增

        add

    1 set3 = {'alex', 'wusir', 'taibai','egon'}
    2 set3.add('女神')
    3 print(set3)

        update(迭代的增加)

    1 set3 = {'alex', 'wusir', 'taibai', 'egon', 'bar'}
    2 set3.update('abcd')
    3 print(set3)
    4 set3.update([1, 2, 3])
    5 print(set3)
    6 set3.update((1, 'hah'))
    7 print(set3)
    8 set3.update(123456)#不可被迭代的添加
    9 print(set3)

    4.删除

        remove

    1 set3.remove('alex')
    2 set3.remove('hahah')#删除没有的会报错

        pop(随机删除)

    1 set3 = {'alex', 'wusir', 'taibai', 'egon', 'bar'}
    2 set3.pop()
    3 s = set3.pop()#有回值,返回删除的值
    4 print(s)

        clear(清空)

    1 set3.clear()#结果set3()
    2 print(set3)

    5.查

        用for查

    1  for i in set3:
    2      print(i)
    3      print(type(i))#i是什么类型就显示什么类型

    6.关系测试

        交集& intersection

    1 set1 = {1, 2, 3, 4, 5}
    2 set2 = {1, 6, 7, 8, 9}
    3 
    4 print(set1 & set2)
    5 print(set1.intersection(set2))

        反交集  ^   symmetric_difference

    1 set1 = {1, 2, 3, 4, 5}
    2 set2 = {1, 6, 7, 8, 9}
    3 
    4 print(set1 ^set2)
    5 print(a,type(a))
    6 print(set1.symmetric_difference(set2))

        并集  |  union

    1 set1 = {1, 2, 3, 4, 5}
    2 set2 = {1, 6, 7, 8, 9}
    
    4 print(set1 |set2)
    5 print(set1.union(set2))

        差集  -

    1 set1 = {1, 2, 3, 4, 5}
    2 set2 = {1, 6, 7, 8, 9}
    3 
    4 print(set1 - set2)  #{2, 3, 4, 5}
    5  

        子集  issubset

    1 set3 = {1, 2, 3}
    2 set4 = {1, 2, 3, 4, 5, 6}
    3 
    4 print(set3.issubset(set4))#set3是se4的子集
    5 print(set2.issubset(set1))

        超集 issupperset

    set3 = {1, 2, 3}
    set4 = {1, 2, 3, 4, 5, 6}
    
    print(set4.issuperset(set3))#set4是set3的超集
    

      

        frozenset   冻结结合(顺序没有冻结)

    s = frozenset('barry')
    print(s, type(s))
    

      

  • 相关阅读:
    HTML学习笔记
    "IIS无法启动"问题解决方法
    NET访问MySQl数据库中文乱码解决
    珍爱生命,远离肥胖,远离过劳死
    Bcp 命令注意事项
    阿里云万郁香:多样付费选择构筑成本最优的弹性体验
    性能提升40%!阿里云神龙大数据加速引擎获TPCxBB世界排名第一
    阿里云王志坤:强劲可靠、无处不在的云,为创新保驾护航
    发现新视界——视觉计算将如何改变生产方式
    Soul运维总监尤首智:企业如何从0到1建设云上运维体系
  • 原文地址:https://www.cnblogs.com/jinfanfu/p/8653159.html
Copyright © 2011-2022 走看看