zoukankan      html  css  js  c++  java
  • python基础之集合set

    集合:set 可变数据类型,包含的数据必须是不可变数据类型、无序、不重复,表示:{}

    不可变数据类型:tuple、bool、int、str --可哈希类型
    可变数据类型:list、dict、set --不可哈希类型

    增:set.add(obj) set.update(obj)
    删:set.pop() set.remove(obj) set.clear() del set
    查:for i in set:
    集合间交换数据:交集:set1&set2 set1.intersection(set2) 并集:set1|set2 set1.union(set2)
    反交集: set1^set2 set1.symmeterc_difference(set2) 差集:set1-set2 set1.difference(set2)
    子集:set1<set2 set1.issubset(set2) 超集:set1>set2 set1.issuperset(set2)
    统计:len(set)
    定义:
    ey:
    set1 = set({1,2,3,4})
    print(set1)
    
    
    set1 = {1,2,3,4}
    print(set1)
    result:{1, 2, 3, 4}
    ey:
    set1 = set({1,2,3,4,[12,2]})
    print(set1)
    result:TypeError: unhashable type: 'list'
    1,增:add
    ey:
    set1 = set({1,2,3,4})
    set1.add('1')
    print(set1)
    result:{1, 2, 3, 4, '1'}
    update():打散后追加
    ey:
    set1 = set({1,2,3,4})
    set1.update('ssswe')
    print(set1)
    result:{1, 2, 3, 4, 's', 'w', 'e'}
    2,删
    pop()从左开始删
    ey:
    set1 = set({1,2,3,4})
    set1.pop()
    print(set1)
    result:{2, 3, 4}
    remove(obj)按元素删
    ey:
    set1 = set({1,2,3,4})
    set1.remove(3)
    print(set1)
    result:{1, 2, 4}
    clear()清除
    ey:
    set1 = set({1,2,3,4})
    set1.clear()
    print(set1)
    result:set()
    del 删除
    ey:
    set1 = set({1,2,3,4})
    del set1
    print(set1)
    result:NameError: name 'set1' is not defined
    4,查
    ey:
    set1 = set({1,2,3,4})
    for i in set1:
        print(i)
    result:1,2,3,4
    5,统计
    set1 = set({1,2,3,4})
    print(len(set1))
    result:4
    6,交集
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1&set2)
    result:{2, 3}
    set1 = set({1,2,3})
    set2 = {1,2,3,5,6}
    print(set2.intersection(set1))
    result:{1, 2, 3}
    7,并集
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1|set2)
    result:{0, 1, 2, 3, 4, 8, 9}
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1.union(set2))
    result:{0, 1, 2, 3, 4, 8, 9}
    8,反交集
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1^set2)
    result:{0, 1, 4, 8, 9}
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1.symmetric_difference(set2))
    result:{0, 1, 4, 8, 9}
    9,差集:--存在于set1,不存在于set2
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1-set2)

    result:{1, 4}
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1.difference(set2))
    result:{1, 4}
    10,子集:set1是set2的子集
    set1 = set({1,2,3})
    set2 = {1,2,3,5,6}
    print(set1<set2)
    result:True
    set1 = set({1,2,3})
    set2 = {1,2,3,5,6}
    print(set1.issubset(set2))
    result:True
    11,超集:set2是set1的超集
    set1 = set({1,2,3})
    set2 = {1,2,3,5,6}
    print(set2>set1)
    result:True
    set1 = set({1,2,3})
    set2 = {1,2,3,5,6}
    print(set2.issuperset(set1))
    result:True
  • 相关阅读:
    函数参数
    文件操作
    is,数据类型补充,set,深浅拷贝
    is,==区别,编码转换
    列表,元祖,range
    字典,解构
    编码,基础数据类型 int str bool,for循环
    while循环,格式化输出,运算符
    java7中使用透明时与输入法冲突
    TC SRM 597 DEV2
  • 原文地址:https://www.cnblogs.com/meifei/p/11390188.html
Copyright © 2011-2022 走看看