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访问:用键访问指定的值,又称映射类型

    字典

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

    不可变类型

    数字类型、字符串、元组

    可变类型

    列表、字典、集合

  • 相关阅读:
    Oracle 推出 ODAC for Entity Framework 和 LINQ to Entities Beta版
    Entity Framework Feature CTP 5系列文章
    MonoDroid相关资源
    MSDN杂志上的Windows Phone相关文章
    微软学Android Market推出 Web Windows Phone Marketplace
    使用 Visual Studio Agent 2010 进行负载压力测试的安装指南
    MonoMac 1.0正式发布
    Shawn Wildermuth的《Architecting WP7 》系列文章
    使用.NET Mobile API即51Degrees.mobi检测UserAgent
    MongoDB 客户端 MongoVue
  • 原文地址:https://www.cnblogs.com/python-htl/p/12482083.html
Copyright © 2011-2022 走看看