zoukankan      html  css  js  c++  java
  • 集合

    1、定义: {}内用逗号分隔开多个元素,多个元素满足以下三个条件

    1集合内元素必须为不可变类型

    2集合内元素无序

    3集合内元素没有重复

     s={1,[1,2]}  # 集合内元素必须为不可变类型

     s={1,'a','z','b',4,7}  # 集合内元素无序

     s={1,1,1,1,1,1,'a','b'}  # 集合内元素没有重复

    s={} # 默认是空字典

     s=set()  # 定义空集合

    2类型转换但凡能被for循环的遍历的数据类型(强调:遍历出的每一个值都必须为不可变类型)都可以传给set()换成集合类型

    列表s = set([1,2,3,4])   # {1, 2, 3, 4}

    元组 s1= set((1,2,3,4))  # {1, 2, 3, 4}

    字典s2 = set({'name':'jason',})  # {'name'}

    字符串s3 = set('egon')   # {'e', 'o', 'g', 'n'}

    3内置方法

    *关系运算

    friends1 = {"zero","kevin","jason","egon"}

    friends2 = {"Jy","ricky","jason","egon"}

    1取交集:两者共同的部分

     res=friends1 & friends2

     print(res)  # {'jason', 'egon'}

     print(friends1.intersection(friends2))

    (2)取并集/合集:两者所有的部分

     print(friends1 | friends2) 

    # {'jason', 'egon', 'ricky', 'Jy', 'zero', 'kevin'}

     print(friends1.union(friends2)) 

    3取差集:取friends1独有的部分

     print(friends1 - friends2) # {'zero', 'kevin'}

     print(friends1.difference(friends2))

    # friends2独有的部分

     print(friends2 - friends1)  # {'Jy', 'ricky'}

    (3)对称差集: 求两个用户独有的部分(即去掉公共部分)

     print(friends1 ^ friends2) # {'ricky', 'kevin', 'zero', 'Jy'}

    print(friends1.symmetric_difference(friends2))

    4父子集:包含的关系

     s1={1,2,3}   s2={1,2,4}

    # 不存在包含关系,下面比较均为False

     print(s1 > s2)

     print(s1 < s2)

     s1={1,2,3}   s2={1,2}

     print(s1 > s2) # s1大于或等于s2时,s1包含s2

     print(s1.issuperset(s2)) # s1 > s2  =>True

     print(s2.issubset(s1))  # s2 < s1  =>True

     s1={1,2,3}   s2={1,2,3}

     print(s1 == s2) # s1s2互为父子

    *去重

    1只能针对不可变类型去重

    2无法保证原来的顺序

    *其他操作

    1长度.len()

    2成员运算innot in

    3循环:输出集合里的每个元素

    4.discard()  # 删除元素不存在返回None

    5.remove()  # 删除元素不存在则报错

    6.update()  # 用新集合更新就集合

    7.pop()  # 删除元素可返回删除的元素

    8.add()  # 添加元素

    9.isdisjoint() # 两个集合完全独立、没有共同部分,返回True

    10.difference_update() # 相当于差运算

    数据类型总结:

    按存值个数区分

    只能存一个值:可称为标量/原子类型

    数字类型、字符串

    可存放多个值:容器类型

    列表、元组、字典、集合

    按照访问方式区分

    直接访问:只能通过变量名访问整个值

    数字类型

    顺序访问:可以用索引访问指定的值,索引代表顺序,又称为序列类型

    字符串、列表、元组

    Key访问:用键访问指定的值,又称映射类型

    字典

    按可变类型和不可变类型区分

    不可变类型

    数字类型、字符串、元组

    可变类型

    列表、字典、集合

  • 相关阅读:
    Jetson Nano更改软件源
    树莓派开机启动VNC
    树莓派VNC复制粘贴
    数学之美-泰勒公式
    C++顺序容器
    eigen的简单用法汇总
    C++并发-同步并发
    C++ string类
    C++并发-互斥元
    Nginx常用命令
  • 原文地址:https://www.cnblogs.com/python-htl/p/12482083.html
Copyright © 2011-2022 走看看