zoukankan      html  css  js  c++  java
  • Python 集合set()

    创建

    # 创建空集合
    set()
    # 创建集合,参数必须为 iterable
    set(it) set(dict) # 只取dict.keys()作为集合的元素

    特性

    # 集合特性:无序序列
    # 集合特性:可变
    # 集合特性:去重
    ls = [1, 2, 1]
    s = set(ls)
    print(s)  # return {1, 2}
    

     内置函数

      添加

    a = set('one')
    # 方法1:将参数作为整体的元素加入 a.add('two')
    # 方法2:将参数分解成多个元素加入 a.update('three')

      删除

    a = set([1, 2])
    
    # 删除,参数为 element
    a.remove(2)   # 存在则删除
    a.remove(3)   # 不存在则报错:keyError
    # 删除,参数为 element
    a.discard(2)  # 存在则删除
    a.discard(3)  # 不存则什么都不做
    
    # 删除并返回值 a.pop() # 随机删取

    # 删除,清空
    a.clear() # set()

      判断子集/父集

    a = {1, 2}
    b = {1, 2, 3}
    
    # 判断 a 是否为 b 的子集
    a < b a.issubset(b) # 判断 a 是否为 b 的父集
    a > b a.issupset(b)

    # 其他:<=、>=、!=、==

      交集/并集/差集/对称差集

    # 交集:两个集合重合的部分
    a & b
    a.intersection(b)
    a.intersection_update(b) # 返回两个集合的交集,替换集合 a a.isdisjoint(b) # 两个集合是否存在空交集,存在则返回True # 并集:两个集合所有元素的集合 a | b a.union(b) # 差集:前集合与后集合相比,在前集合中而不在后集合中的部分 a - b a.difference(b) # 对称差集:两个集合不重复的部分 a.symmeric_difference(b)
    a.symmeric_difference_update(b) # 返回两个集合的对称差集,替换集合 a

     

    扩展:

      不可变的集合:frozenset

      

  • 相关阅读:
    Day01
    微前端技术框架qiankun技术分享
    终于有人把O2O、C2C、B2B、B2C的区别讲透了
    Electron-Vue项目使用Element的el-table组件不显示
    monaco editor各种功能实现总结
    electron-vue项目使用elementUI组件报错$attrs is readonly
    monaco-editor 使用总结
    闲谈Monaco Editor-基本使用
    【软件】MATHTYPE破解记
    C# EF
  • 原文地址:https://www.cnblogs.com/ShuComputerProgram/p/11597449.html
Copyright © 2011-2022 走看看