zoukankan      html  css  js  c++  java
  • Python3学习之路~2.6 集合操作

    集合是一个无序的,不重复的数据组合,它的主要作用如下:

    • 去重,把一个列表变成集合,就自动去重了
    • 关系测试,测试两组数据之前的交集、差集、并集等关系

    常用操作

    >>> list1 = [1,4,5,7,3,6,7,9]
    >>> list1=set(list1) # 将list变为set,自动去重
    >>> print(list1,type(list1))
    {1, 3, 4, 5, 6, 7, 9} <class 'set'>
    
    >>> s = set([3,5,9,10])    #创建一个数值集合
    >>> t = set("Hello")       #创建一个唯一字符的集合
    >>> 
    >>> t.add('x') # 添加一项 
    >>> print(t)
    {'o', 'x', 'e', 'l', 'H'}
    
    >>> s.update([10,37,42]) # 在s中添加多项
    >>> print(s)
    {3, 37, 5, 9, 10, 42}
    
    >>> t.remove('H') # 使用remove()可以删除一项
    >>> print(t)
    {'o', 'x', 'e', 'l'}
    
    >>> t.pop() # 随机删除,必须无参
    'o'
    >>> print(t)
    {'x', 'e', 'l'}
    
    >>> t.discard('e') # 使用discard()删除
    >>> print(t)
    {'x', 'l'}
    
    >>> len(s) # set的长度
    6
    
    >>> x in s # 测试x是否是s的成员  
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'x' is not defined
    
    >>> x not in s # 测试x是否不是s的成员  
    True
    
    >>> print(s)
    {3, 37, 5, 9, 10, 42}
    >>> y=set([3,5,9,8,4])
    >>>
    >>> s<=y
    False
    >>> s.issubset(y) # 同s<=y,测试是否s中的每一个元素都在y中 
    False
    
    >>> s>=y
    False
    >>> s.issuperset(y) # 同s>=y,测试是否y中的每一个元素都在s中   
    False
    
    >>> s&y
    {9, 3, 5}
    >>> s.intersection(y) # 同s&y,交集,返回一个新的set包含s和y中的公共元素 
    {9, 3, 5}
    
    >>> s|y
    {3, 4, 37, 5, 8, 9, 42, 10}
    >>> s.union(y) # 同s|y,并集,返回一个新的set包含s和y中的每一个元素
    {3, 4, 37, 5, 8, 9, 42, 10}
    
    >>> s-y 
    {10, 42, 37}
    >>> s.difference(y) # 同s-y,差集(项在s中,但不在y中),返回一个新的set包含s中有但是y中没有的元素
    {10, 42, 37}
    
    >>> s^y
    {4, 42, 37, 8, 10}
    >>> s.symmetric_difference(y) # 同s^y,对称差集(项在y或s中,但不会同时出现在二者中),返回一个新的set包含s和y中不重复的元素  
    {4, 42, 37, 8, 10}
    
    >>> s.copy() #返回 set “s”的一个浅复制
    {3, 42, 37, 5, 9, 10}
    View Code
  • 相关阅读:
    druid 基本配置
    计算机组成
    数据结构
    shell编程练习
    java之Nio
    java集合深入学习
    mysql学习
    tomcat学习
    大数据面试题
    计算机网络复习
  • 原文地址:https://www.cnblogs.com/zhengna/p/9184508.html
Copyright © 2011-2022 走看看