zoukankan      html  css  js  c++  java
  • python--002--数据类型(set)

    集合:set

      特点:

      1)不同元素组成
      2)无序
      3)集合中元素必须是不可变类型

    s={1,2,4,5,8}
    print(type(s))
    output:<class 'set'>
    
    s=set('hello')
    print(s)
    output:{'h', 'l', 'e', 'o'}
    
    s=set(["abc","abc","sb"])
    print(s)
    output:{'sb', 'abc'}

     

    集合set的方法:

    ss=s.copy()
    print(ss)
    
    s.clear()
    s.add(3)
    s.pop()
    s.remove("sb")
    s.remove("dhdhdkddkkd") # 删除元素不存在会报错
    s.discard("sbbbbb") # 删除元素不存在不会报错

     


    集合关系运算交、差、并集

     

    python_1=['lcg','szw','zjw']
    linux_1=['lcg','szw',"sb"]
    
    
    p_s=set(python_1)
    l_s=set(linux_1)
    print(p_s,l_s)
    
    #求交集
    print(p_s.intersection(l_s))
    print(p_s&l_s)
    
    #求并集
    print(p_s.union(l_s))
    print(p_s|l_s)
    
    #求差集
    print(p_s.difference(l_s))
    print("差集:",p_s-l_s)
    print(l_s.difference(p_s))
    print("差集:",l_s-p_s)
    #交叉补集
    
    print('交叉补集',p_s.symmetric_difference(l_s))
    print('交叉补集',p_s^l_s)
    
    #difference_update求出差集后,并更新p_s
    p_s.difference_update(l_s)
    print(p_s)

     

    其他方法:

     

    #isdisjoint如果两个集合交集结果为空,则返回True
    s1={1,2}
    s2={3,5}
    print(s1.isdisjoint(s2))
    
    #issubset相当于s1<=s2即s1是s2的子集,issuperset相当于s1>=s2即s1是s2的父集
    s1={1,2}
    s2={1,2,3}
    print(s1.issubset(s2))#s1是s2的子集
    print(s2.issubset(s1))#返回False
    
    print(s2.issuperset(s1))#s1是s2的父集
    
    #update相当于将s2的值更新给s1
    s1.update(s2)#更新多个值,可传入字典、列表
    print(s1)
    
    s1.add(5)#更新一个值
    s1.union(s2)#不更新

     

    frozenset定义为了不可变类型,没有add等方法


    s=frozenset('hello')
    # s没有add等方法

    #实现简单去重

    names=['wendy','wendy','xiaozhu']
    s=set(names)
    print(s)
    #将names变为之前的list,不过顺序变了
    names=list(s)
    print(names)
    
    #上述几句变为一句,简单去重,顺序会变
    names=list(set(names))

     



  • 相关阅读:
    zoj 3591 Nim 博弈论
    zoj 3529 A Game Between Alice and Bob 博弈论
    zoj 3513 Human or Pig 博弈论
    hdu 3886 Final Kichiku “Lanlanshu” 数位DP
    2013 ACM/ICPC Asia Regional Changsha Online
    2013 ACM/ICPC Asia Regional Changsha Online G Goldbach
    hdu 4753 Fishhead’s Little Game 博弈论+记忆化搜索
    hdu 1404/zoj 2725 Digital Deletions 博弈论
    zoj 2686 Cycle Game 博弈论
    zoj 2290 Game 博弈论
  • 原文地址:https://www.cnblogs.com/jinf/p/10507445.html
Copyright © 2011-2022 走看看