zoukankan      html  css  js  c++  java
  • python入门7(集合)

    1.集合的创建方式

    #集合的创建方式
    '''第一种创建方式使用{}'''
    s={2,3,4,5,5,6,7,7} #集合中的元素不允许重复
    print(s)
    
    '''第二种创建方式使用set()'''
    s1 =set(range(6))
    print(s1,type(s1))
    
    s2=set([1,2,4,5,5,6,7,8,7])
    print(s2,type(s2))
    
    s3=set((1,2,4,4,5,65)) #集合中的元素是无序的
    print(s3,type(s3))
    
    s4=set('python')
    print(s4,type(s4))
    
    s5=set({1,2,3,4,4,5})
    print(s5,type(s5))
    
    #定义一个空集合
    s6={} #会发现是字典类型
    print(type(s6)) #<class 'dict'>
    
    #正确定义一个空集合
    s7=set()
    print(type(s7))

    2. 集合的相关操作

    #集合元素的判断操作
    s={10,20,30,405,60}
    '''集合元素的判断操作'''
    print(10 in s)
    print(100 in s)
    print(10 not in s)
    print(100 not in s)
    
    '''集合元素的新增操作'''
    s.add(80) #add一次添加一个元素
    print(s)
    s.update({200,300,400}) #至少添加一个元素
    print(s)
    s.update([500,600,700])
    s.update((91,92,99))
    print(s)
    
    '''集合元素的删除操作'''
    s.remove(10)
    print(s)
    #s.remove(55) #KeyError: 55
    s.discard(55)
    
    s.pop()
    #s.pop(500) #TypeError: pop() takes no arguments
    s.clear() #集合元素全部清空
    print(s)

    3.集合间的关系

    '''两个集合是否相等(元素相同,就相等)'''
    s={10,20,30,40}
    s2={30,40,20,10}
    print(s==s2)
    print(s!=s2)
    
    '''一个集合是否是另一个集合的子集'''
    s1={10,20,30,40,50,60}
    s2={10,20,30,40}
    s3={10,20,90}
    print(s2.issubset(s1))
    print(s3.issubset(s1))
    
    '''一个集合是否是另一个集合的超集'''
    print(s1.issuperset(s2))
    print(s1.issuperset(s3))
    
    '''两个集合是否含有交集'''
    print(s2.isdisjoint(s3))
    s4={100,200,300}
    print(s2.isdisjoint(s4))

     4.集合中的数学操作

    '''集合中的数学操作'''
    #(1)交集
    s1={10,20,30,40}
    s2={20,30,40,50,60}
    print(s1.intersection(s2))
    print(s1 & s2) #intersection()与&等价,交集操作
    
    #(2)并集操作
    print(s1.union(s2)) #union()与 | 等价,并集操作
    print(s1 | s2)
    
    #(3)差集操作
    print(s1.difference(s2))
    print(s1-s2)
    
    #(4)对称差集
    print(s1.symmetric_difference(s2))
    print(s1 ^ s2)

     5.集合生成式

    #列表生成式
    lst=[ i*i for i in range(10)]
    print(lst)
    
    #集合生成式
    s={i*i for i in range(10)}
    print(s)

     

     

  • 相关阅读:
    手机网站调试神器之chrome控制台
    改善C#程序的建议2:C#中dynamic的正确用法
    flowplayer视频播放插件[转]
    Python类,特殊方法, __getitem__,__len__, __delitem__
    Python yield 使用浅析
    Openerp负载平衡
    linux sheel重复执行上条命令
    Python 去除列表中重复的元素
    去除Odoo主页中的提示: Your Odoo is not supported.
    Python 正则表达式学习摘要及资料
  • 原文地址:https://www.cnblogs.com/liuyi13535496566/p/15652645.html
Copyright © 2011-2022 走看看