zoukankan      html  css  js  c++  java
  • 006---Python基本数据类型--集合

    集合

     

    集合的定义及创建

    • 定义:集合是一种可变的数据类型。但是集合里面的元素必须是不可变类型。无序的,里面的元素不重复。
    • 表示:{}
    • 特性:去重
     

    创建:

    In [4]:
    s1 = set()
    s2 = set((1,2,3))
    s3 = {1,2,3}
    
    print(s1,type(s1))
    print(s2,type(s2))
    print(s3,type(s3))
    
     
    set() <class 'set'>
    {1, 2, 3} <class 'set'>
    {1, 2, 3} <class 'set'>
    
     

    集合的常用方法

    In [10]:
    # 增加
    
    s1 = {1,2,3}
    
    # add()  添加单个元素
    s1.add(4)
    print(s1)
    
    # update()  可迭代类型
    s1.update([5,6,7])
    print(s1)
    
     
    {1, 2, 3, 4}
    {1, 2, 3, 4, 5, 6, 7}
    
    In [20]:
    # 删除
    
    s1 = {1,2,3,4}
    
    # 随机删除
    res = s1.pop()
    print(res)
    
    # 指定元素删除
    res = s1.remove(4)
    print(s1)
    
    # 清空
    s1.clear()
    print(s1)
    
     
    1
    {2, 3}
    set()
    
    In [ ]:
    s1 = {1,2,3,4,5}
    s2 = {3,4,5,6,7,8,}
    
    # 交集
    res = s1&s2
    print(res)
    
    # 并集
    res = s1|s2
    print(res)
    
    # 差集
    print(s1-s2)
    print(s2-s1)
    
    # 交差补集
    print(s1^s2)
    
    s3 = {1,2,3,}
    s4 = {1,2,3,4,5}
    
    # s4是否是s3的超集
    print(s4>s3)
    # s3是否是s4的子集
    print(s3<s4)
    
    In [117]:
    # 集合本身是可变的数据类型,可利用frozenset来变成不可变数据类型
    
    s1 = {1,2,3,4}
    s2 = frozenset(s1)
    print(s1,type(s1))
    print(s2,type(s2))
    
    # for i in s2:
    #     print(i)
        
    for j in s2:
        print(j)
    
    # 不可修改
    s2.add(1)
    s2.clear()
    
     
    {1, 2, 3, 4} <class 'set'>
    frozenset({1, 2, 3, 4}) <class 'frozenset'>
    1
    2
    3
    4
    
     
    ---------------------------------------------------------------------------
    AttributeError                            Traceback (most recent call last)
    <ipython-input-117-8a6c38bec0dc> in <module>
         13 
         14 # 不可修改
    ---> 15s2.add(1)
         16 s2.clear()
    
    AttributeError: 'frozenset' object has no attribute 'add'
  • 相关阅读:
    jetty运行服务
    对象的属性值是数组,如何使用ko跨页面绑定?
    Maven打包时出现“Show Console View”错误弹出框,错误详情为“An internal error has occurred. java.lang.NullPointerException”的解决方法
    记录一次CDH集群邮件报警功能的设置
    jupyter notebook
    MacOS开发环境搭建
    Manico--自定义应用快速切换
    Synergy--跨平台的键鼠共享工具
    Sublime Text3 个人使用安装设置
    Typora--我用过的最好用的markdown编辑器
  • 原文地址:https://www.cnblogs.com/xjmlove/p/10127796.html
Copyright © 2011-2022 走看看