• python基本数据类型之集合set


    集合set

    基本数据类型特点(可变:列表,字典   不可变:字符串,数字,元组)

    • 不同的元素组成
    • 无序
    • 集合中的元素必须是不可变类型,加入可变的类型会报错
    #!/usr/bin/python3
     
    student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
     
    print(student)   # 输出集合,重复的元素被自动去掉
     
    # 成员测试
    if('Rose' in student) :
        print('Rose 在集合中')
    else :
        print('Rose 不在集合中')
     
     
    # set可以进行集合运算
    a = set('abracadabra')
    b = set('alacazam')
     
    print(a)
     
    print(a - b)     # a和b的差集
     
    print(a | b)     # a和b的并集
     
    print(a & b)     # a和b的交集
     
    print(a ^ b)     # a和b中不同时存在的元素
    DEMO

    方法:

      A、add  添加,添加可变的数据类型也是会报错的

    1
    2
    3
    s = {1,2,5,5,'g','h'}
    s.add(3)
    print(s)

      执行结果

    1
    {1, 2, 3, 5, 'h', 'g'}

      B、clear   清空集合

      C、intersection  交集,相当于&

    1
    2
    3
    4
    5
    6
    7
    s = {1,7,9}
    s1 = {1,9,5}
    print(s&s1)
    print(s.intersection(s1))
     
    {9, 1}
    {9, 1}

       D、union  并集,相当于 |

    1
    2
    3
    4
    s = {1,7,9}
    s1 = {1,9,5}
    print(s|s1)
    print(s.union(s1))<br><br>{1,5,7,9}<br>{1,5,7,9}

      E、difference  差集,相当于-

    1
    2
    3
    4
    5
    6
    7
    s = {1,7,9}
    s1 = {1,9,5}
    print(s-s1)
    print(s.difference(s1))
     
    {7}
    {7}

      F、symmetric_difference  交叉补集,相当于^

    1
    2
    3
    4
    5
    6
    7
    s = {1,7,9}
    s1 = {1,9,5}
    print(s^s1)
    print(s.symmetric_difference(s1))
     
    {5, 7}
    {5, 7}

      G、difference-update   差集更新

      H、isdisjoint        判断是否有交集

      I、issubset        判断是否为子集

    1
    2
    3
    4
    5
    6
    7
    s1={1,2}
    s2={1,2,3}
    print(s1.issubset(s2))
    print(s2.issubset(s1))
     
    True
    False

      J、issuperset       判断是否为父集

    1
    2
    3
    4
    5
    s1={1,2}
    s2={1,2,3}
    print(s2.issuperset(s1))
     
    True

      k、update  更新多个值,可迭代都可传

      L、pop,remove,discard  均为删除

    1
    2
    3
    4
    5
    6
    7
    8
    9
    s = {9, 'sb', 1, 2, 3, 4, 5, 6}
    s.pop()                           # pop不能指定删除,只可以随机删除
    print(s)
    s = {9, 'sb', 1, 2, 3, 4, 5, 6# 指定删除元素,当删除的元素不存在时,删除会报错
    s.remove(4)
    print(s)
    s = {9, 'sb', 1, 2, 3, 4, 5, 6}
    s.discard(5)
    print(s)                          # 指定元素删除;和remove唯一的区别删除不存在不会报错
  • 相关阅读:
    .net批量插入SqlServer数据库的方法:
    Google主页中国元宵节
    左岸读书你是想读书,还是想读完书?
    Google主页中国著名教育家和画家 丰子恺先生 诞辰114周年
    【转载】图的遍历
    Google主页爱尔兰作家 布拉姆斯托克诞辰165周年
    诺基亚黯然关闭其在欧洲的最后一个手机工厂的背后
    [POJ 1012] Joseph(约瑟夫)
    台湾南投3.27地震
    左岸读书语不惊人死不休(95)
  • 原文地址:https://www.cnblogs.com/caodneg7/p/10152576.html
Copyright © 2020-2023  润新知