zoukankan      html  css  js  c++  java
  • Python 集合

      集合
    集合与列表差不多,只不过集合中的数据是不会存在重复值
    例如:
    列表的数据可以为:
    list_a=[1,2,3,3,3,4]
    将list_a转换为集合时,数据就变为:
    list_a=[1,2,3,4]

    集合的常用操作:
    set()函数
    len()函数
    add()方法
    update()方法
    union()方法
    pop()方法
    remove()方法
    discard()方法
    intersection()方法
    intersection_update()方法
    clear()方法
    difference()方法
    difference_update()方法
    issubset()方法
    issuperset()方法

    set()函数,用于生成集合
    list_a=[0,1,2,3,4,5]
    set_a=set(list_a)  #将列表转换为集合
    print set_a
    运行结果:
    set([0, 1, 2, 3, 4, 5])
    [Finished in 0.2s]
    
    len()函数,用于获取集合元素个数
    set_a=set(['a','b','c',"d"])
    print len(set_a)
    运行结果:
    4
    [Finished in 0.2s]
    
    检查成员元素
    set_a=set(['a','b','c',"d"])
    print "a" in set_a     #检查a是否存在于set_a集合中
    运行结果:
    True
    [Finished in 0.2s]
    
    
    add()方法,用于添加集合元素
    set_a=set(list_a)
    set_a.add("A")   #向集合添加元素
    print set_a
    运行结果:
    set([0, 1, 2, 3, 4, 5, 'A'])
    [Finished in 0.3s]
    
    update()方法,用于向集合中添加多个元素
    list_a=[0,1,2,3,4,5]
    set_b=set([9,8,7,6])
    set_a=set(list_a)
    set_a.update(set_b)
    print set_a
    运行结果:
    set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    [Finished in 0.2s]
    
    union()方法,合并两个集合,生成一个新的集合
    set_a=set(['a','b','c'])
    set_b=set([9,8,7,6])
    set_c=set_a.union(set_b)
    print set_c
    运行结果:
    set(['a', 'c', 'b', 6, 7, 8, 9])
    [Finished in 0.2s]
    
    pop()方法,用于移除一个元素,并返回被移除的元素,如果集合为空,则出现TypeError异常。
    set_a=set(['a','b','c'])
    print set_a
    print set_a.pop()
    运行结果:
    set(['a', 'c', 'b'])
    a
    [Finished in 0.2s]
    
    remove()方法,用于移除集合中的一个元素,如果被移除的元素不存在则出现异常
    set_a=set(['a','b','c'])
    print set_a
    set_a.remove("b")
    print set_a
    运行结果:
    set(['a', 'c', 'b'])    
    set(['a', 'c'])    #移除后
    [Finished in 0.2s]
    
    
    discard()方法,用于移除元素(无返回值),如果不存在此元素,也不会出现异常
    set_a=set(['a','b','c',"d"])
    set_a.discard("a")   #移除集合中的a元素
    print set_a
    运行结果:
    set(['c', 'b', 'd'])
    [Finished in 0.2s]
    
    
    intersection()方法,取集合的并集,生成新的集合
    set_a=set(['a','b','c',"d"])
    set_b=set(['c','a'])
    set_c=set_a.intersection(set_b)
    print set_c
    运行结果:
    set(['a', 'c'])
    [Finished in 0.2s]
    
    
    intersection_update()方法,取集合的并集,并更新到集合a中
    set_a=set(['a','b','c',"d"])
    set_b=set(['c','a'])
    set_a.intersection_update(set_b)   #将集合a和集合b的并集,更新到集合a中
    print set_a
    运行结果:
    set(['a', 'c'])
    [Finished in 0.2s]
    clear()方法,用于清空集合里的所有元素.
    set_a=set(['a','b','c'])
    print set_a
    set_a.clear()
    print set_a
    运行结果:
    set(['a', 'c', 'b'])
    set([])
    [Finished in 0.2s]
    
    difference()方法,用于集合相减(将集合1-集合2),并生成新的集合
    set_a=set(['a','b','c',"d"])
    set_b=set(['a','b'])
    set_c=set_a.difference(set_b)  #将集合a-集合b
    print set_c
    运行结果:
    set(['c', 'd'])
    [Finished in 0.2s]
    
    difference_update()方法,用于移除集合1中与集合2相同的元素,不生成新的集合
    set_a=set(['a','b','c',"d"])
    set_b=set(['a','b'])
    set_c=set_a.difference_update(set_b)   #移除集合a中与集合b相同的元素
    print set_a
    运行结果:
    set(['c', 'd'])
    [Finished in 0.2s]
    
    
    issubset()方法,用于判断集合b是否(包含于)集合a,如果(包含于)就返回true,反之返回false
    set_a=set(['a','b','c',"d"])
    set_b=set(['c','a'])
    set_c=set_b.issubset(set_a)   #检查集合b是否包含于集合a
    print set_c
    运行结果:
    True
    [Finished in 0.2s]
    
    
    issuperset()方法,用于判断集合a是否(包含)集合b,如果(包含)就返回true,反之返回false
    set_a=set(['a','b','c',"d"])
    set_b=set(['c','a'])
    set_c=set_a.issuperset(set_b)   #检查集合a是否包含集合b
    print set_c
    运行结果:
    True
    [Finished in 0.2s]
    

      

  • 相关阅读:
    VLAN配置Trunk接口
    VLAN基础配置及Access接口实验
    在linux虚拟机中演示DHCP管理动态IP地址
    虚拟机 有关于Vsftpd验证方式虚拟用户访问模式
    使用Bind提供域名解析服务:正向解析和反向解析
    虚拟机环境下有关于NFS系统的介绍操作
    虚拟机 有关于Vsftpd验证方式本地用户访问模式
    虚拟机 有关于Vsftpd验证方式匿名访问模式
    虚拟机上有关于Apache服务基于主机名@基于端口号
    C#版 Winform界面 Socket编程 Client客户端
  • 原文地址:https://www.cnblogs.com/JcHome/p/10127828.html
Copyright © 2011-2022 走看看