zoukankan      html  css  js  c++  java
  • python(10)——集合

    已经学过的python数据类型有:int、float、str、list、dict、tuple、bool、set

    集合set:

    集合也是一种数据类型,也是用{}括起开,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据

    操作集合

    #定义集合
    jihe=set() #定义一个空的集合
    set1={'niuniu','huihui','hehe'}  #直接定义一个集合
    list=[1,1,2,7,5,4,3,4]
    set2= set(list)  #将list转为集合
    set3 = set([1,1,2,7,5,4,3,4])  #将list转为集合
    
    #集合添加元素
    set1.add('hello')
    
    # #集合删除元素
    set1.remove('niuniu') #删除指定元素
    set1.pop()  #随机删除一个元素
    
     #集合循环
    for i in set1:
         print(i)

    集合的作用:

    1、它可以把一个列表中重复的数据去掉,而不需要你再写判断

    # 集合 也是用{}扩起开
    # 天生可以去重  可循环
    # # 集合是无序的 不能排序,要排序的话转成list
    list=[1,1,2,2,3,3]
    res=set(list)  #列表转集合
    print(res)  #{1, 2, 3}
    list2=list(res) #集合转列表
    print(list2)  #[1, 2, 3]

    2、可以做关系测试,比如说有两个班,一个性能测试班,一个是自动化班的,想找出来既学习了性能又学习了自动化的同学,就可以用集合

    xingneng =['tanailing','yanfan','liurongxin','xiaohei']
    zdh=['tanailing','yanfan','tt']
    xingneng=set(xingneng)
    zdh=set(zdh)
    
    # #取交集
    res=xingneng.intersection(zdh)
    res=xingneng & zdh
    print('交集',res)    #交集 {'tanailing', 'yanfan'}
    
    # #取并集--将两个集合合并到一起,并去重
    res= xingneng.union(zdh)
    res=xingneng | zdh
    print('并集',res)   #并集 {'xiaohei', 'tt', 'liurongxin', 'tanailing', 'yanfan'}
    
    # #差集--a里面有,b里面没有
    res=xingneng.difference(zdh)
    res=xingneng - zdh
    print('差集',res)    #差集 {'xiaohei', 'liurongxin'}
    
    # #对称差集--取两个集合中不重复的
    res=xingneng.symmetric_difference(zdh)
    res = xingneng ^ zdh
    print('对称差集',res)    #对称差集 {'xiaohei', 'tt', 'liurongxin'}
    import string
    l1=set(string.ascii_lowercase)
    l2={'a','b','c'}
    print(l2.issubset(l1))  #l2是否为l1的子集   True
    print(l2.issuperset(l1))  #l2是否为l1的父集  False
    print(l2.isdisjoint(l1)) #有交集,返回False;无交集,返回True  False
  • 相关阅读:
    整数因子分解问题(递归分治法、动态规划)
    背包问题(动态规划 C/C++)
    划分问题(Java 动态规划)
    算法:Common Subsequence(动态规划 Java 最长子序列)
    算法:矩阵连乘(Java)动态规划
    Frogs‘ Neighborhood(POJ 1659 C/C++)
    算法:线性时间选择(C/C++)
    sort(hdu oj 1425)计数排序和快速排序
    快速排序(递归和分治)
    a^b(取模运算)
  • 原文地址:https://www.cnblogs.com/HathawayLee/p/9631624.html
Copyright © 2011-2022 走看看