zoukankan      html  css  js  c++  java
  • Python基础(二)之数据类型和运算(8)——集合

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

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

    集合的语法

    list_1 = [1,2,3,4,5,5,6,6,]
    list_1 = set(list_1)
    
    list_2 = set([5,6,7,8,9])

    print(list_1,type(list_1))
    print(list_1,list_2)

    >>>
    {1, 2, 3, 4, 5, 6} <class 'set'> #把一个列表变成集合,就自动去重了
    {1, 2, 3, 4, 5, 6} {5, 6, 7, 8, 9}

    常用操作:

    1、关系测试

    #交集
    print(list_1.intersection(list_2))
    print(list_1 & list_2)
    
    >>>
    {5, 6}
    #并集
    print(list_1.union(list_2))
    print(list_1 | list_2)
    
    >>>
    {1, 2, 3, 4, 5, 6, 7, 8, 9}
    #差集=list_1 - 交集
    print(list_1.difference(list_2))
    print(list_1 - list_2)
    
    >>>
    {1, 2, 3, 4}
    #对称差集 = 并集 - 交集
    print(list_1.symmetric_difference(list_2))
    print(list_1 ^ list_2)
    
    >>>
    {1, 2, 3, 4, 7, 8, 9}
    #子集  list_1 是 list_2的子集
    print(list_1.issubset(list_2))
    #父集
    print(list_1.issuperset(list_2))

    >>>
    False
    False
    #两集合的交集为空集
    print(list_1.isdisjoint(list_2))
    
    >>>
    False
    #增加
    list_1.add(666)      #一项
    list_2.update([11,22,33])   #多项
    print(list_1,list_2)
    
    >>>
    {1, 2, 3, 4, 5, 6, 666} {33, 5, 6, 7, 8, 9, 11, 22}
    #删除一项
    list_1.remove(9)     #如果所删元素集合中不存在,报错
    list_1.discard(9)   #如果所删元素集合中不存在,返回Non
    print(list_1)
    #删除任意,并返回
    print(list_1.pop())
    
    >>>
    1
    len(s)  
    set 的长度  
      
    x in s  
    测试 x 是否是 s 的成员  
      
    x not in s  
    测试 x 是否不是 s 的成员  
      
    s.issubset(t)  
    s <= t  
    测试是否 s 中的每一个元素都在 t 中  
      
    s.issuperset(t)  
    s >= t  
    测试是否 t 中的每一个元素都在 s 中  
      
    s.union(t)  
    s | t  
    返回一个新的 set 包含 s 和 t 中的每一个元素  
      
    s.intersection(t)  
    s & t  
    返回一个新的 set 包含 s 和 t 中的公共元素  
      
    s.difference(t)  
    s - t  
    返回一个新的 set 包含 s 中有但是 t 中没有的元素  
      
    s.symmetric_difference(t)  
    s ^ t  
    返回一个新的 set 包含 s 和 t 中不重复的元素  
      
    s.copy()  
    返回 set “s”的一个浅复制  
  • 相关阅读:
    ASP.NET中使用javascript
    遍历DataList控件
    史上最强劲之android模拟器命令详解
    Android开发环境配置简介
    Android模拟器adb命令介绍
    听一名普通android应用开发人员谈:怎样成为一名Android开发者
    android模拟器安装及优化(集锦)
    Ubuntu 快捷键集锦
    smplayer 中文字幕乱码,进度条及拖放MKV
    如何在Windows下搭建Android开发环境
  • 原文地址:https://www.cnblogs.com/yz9110/p/8241261.html
Copyright © 2011-2022 走看看