zoukankan      html  css  js  c++  java
  • 集合数据类型内置方法

    集合数据类型内置方法

    一、集合

    1.1 作用

    存储一大堆元素的东西,容器数据类型

    1.2 定义方式

    在{}内用逗号分隔不可变数据类型

    s = {1, 2, 1, 'a', 'a', 'c'}
    print(s)
    --------------------------------------------------------
    {'c', 1, 2, 'a'}   #去重:重复的全部去掉   #乱序:顺序是乱的
    

    's = {}' #空的大括号是字典,而非集合,定义集合必须要用set()

    1.3 内置方法

    1.3.1优先掌握

    1.长度

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    print(f"len(s):{len(s)}")
    
    -----------------------------------------------------
    len(s):5
    

    2.成员运算in和not in

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    print(f"1 in s:{1 in s}")
    print(f"1 not in s:{1 not in s}")
    ---------------------------------------------------------
    name in dic:False
    name not in dic:True
    

    3.|并集union()

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    print(s | s2)
    
    s = {1,2,1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    s = s.union(s2)
    print(s)
    ------------------------------------------------------
    {1, 2, 3, 6, 7, 8, 'c', '4', 'a'}
    
    {1, 2, '4', 3, 6, 7, 8, 'c', 'a'}
    

    4.&交集intersection()

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    print(s & s2)
    
    
    s = {1,2,1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    s = s.intersection(s2)
    print(s)
    ---------------------------------------------------------
    {2}
    
    {2}
    

    5.-差集difference()

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    print(s - s2)
    
    s = {1,2,1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    s = s.difference(s2)
    print(s)
    ---------------------------------------------------------
    {1, 'a', '4', 'c'}
    
    {1, 'a', 'c', '4'}
    

    6.^对称差集symmetric_difference

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    print(s ^ s2)
    
    
    s = {1,2,1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    s = s.symmetric_difference(s2)
    print(s)
    -----------------------------------------------------------
    {1, 3, 6, 7, 8, '4', 'a', 'c'}
    
    
    {1, 3, 6, 7, 8, '4', 'a', 'c'}
    

    1.3.了解

    1.copy()

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s.copy()
    print(s)
    ----------------------------------------------------
    {'a', 1, 2, '4', 'c'}
    

    2.update()

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    s.update(s2)
    print(s)
    {1, 2, 3, 6, 7, 8, 'c', 'a', '4'}
    

    3.clear()

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s.clear()
    print(s)
    ---------------------------------------------------------
    set()
    

    4.pop()

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s.pop()   #随机删除
    print(s)
    ---------------------------------------------------------
    {2, 'c', 'a', '4'}
    

    5.remove() :删除

    #如果在集合中找不到要删除的元素则会报错
    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s.remove('a')
    print(s)
    -----------------------------------------------------------
    {1, 2, '4', 'c'}
    

    6.discard():删除

    #如果在集合中找不到要删除的元素则不会会报错
    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s.discard('a')
    print(s)
    ----------------------------------------------------------
    {1, 2, 'c', '4'}
    

    7.add()

    s = {1, 2, 1, 'a', 'a', 'c','4'}
    s.add(9)
    print(s)
    ---------------------------------------------------------
    {1, 2, 9, 'a', 'c', '4'}
    

    8.difference_update()

    s = {1,2,1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    s.difference_update(s2)
    print(s)
    ----------------------------------------------------------
    {'a', 1, '4', 'c'}
    

    9.子集issubset()

    s = {1,2,1, 'a', 'a', 'c','4'}
    s2 = {2,3,3,6,7,8}
    s = s.issubset(s2)
    print(s)
    ----------------------------------------------------------
    False
    

    10.父集

    s = {1,2,3, 'a', 'a', 'c','4'}
    s2 = {2,3}
    s = s.issuperset(s2)
    print(s)
    ---------------------------------------------------------
    True
    

    1.4 有一个值还是多个值

    多个值

    1.5 有序(索引)or无序(索引)

    无序

    1.6 可变or不可变

    可变

    s = {1,2}
    print(id(s))
    s.add(3)
    print(id(s))
    -------------------------------------------------------------
    2199963714952
    2199963714952
    
  • 相关阅读:
    git fetch 和git pull 的差别
    解决npm install安装慢的问题
    Git本地分支和远程分支关联
    phalapi 2.14 使用(一)增加顶级命名空间、调整返回结构字段
    vue-element-template实战(五) 获取后端路由表动态生成权限
    vue-element-template实战(四)使用mock数据,新增用户管理界面
    使用phalapi 2.14版本的问题及解决办法
    关于vue
    git详细操作
    三次握手四次挥手理解
  • 原文地址:https://www.cnblogs.com/yanjiayi098-001/p/11303643.html
Copyright © 2011-2022 走看看