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'
  • 相关阅读:
    解析excel表格为DataSet
    easyui 上传文件代码
    上传文件后台代码
    easyui dialog
    C++ 强制设置文件大小
    std::function与std::bind
    glog 编译报错 ERROR macro is defined. Define GLOG_NO_ABBREVIATED_SEVERITIES before including logging.h. See the document for detail.
    Qt删除目录
    C++11 中的std::function和std::bind
    TortoiseGit 使用教程
  • 原文地址:https://www.cnblogs.com/xjmlove/p/10127796.html
Copyright © 2011-2022 走看看