• python课堂整理7---集合


    前面小节:

    sep 用来控制每个元素间的间隔符号

    print("alex", "dabai", "liu", sep = "")
    

    按可变不可变:

    1.可变:列表,字典

    2.不可变:字符串, 数字, 元组

    修改了变量的值,而id号跟着改变,即不可变类型

    name = 'alex'
    print(id(name))
    name = 'sb'
    print(id(name))
    

    按访问顺序:

    1.顺序访问:字符串, 列表, 元组

    2.映射:字典

    3.直接访问:数字

    存放元素个数:

    容器类型:列表,元组, 字典

    原子:数字,字符串

    #################集合 ###################

    一、集合  set

    1.不同的元素组成

    2.无序

    3.集合中元素必须是不可变类型

    s = {1, 2, 3, 4, 5}

    内置函数:set()   也有简单的去重作用,不在意顺序的话

    s = set('hello')
    print(s)
    s1 = set(["alex", "alex", "sb"])
    print(s1)
    

    二、集合的魔法

    1. add,  向集合添加元素(只能更新一个)

    s = {1, 2, 3, 4, 5, 6}
    s.add('alex')
    print(s)
    

    2. clear 清空集合

    s.clear()
    

    3. 拷贝集合

    s1 = s.copy()
    

    4. pop随机删除元素

    s = {1, 2, 3, 4, 5, 6}
    v = s.pop()
    print(s,v)
    

    5. remove 指定元素删除,删除元素不存在时会报错

    s = {1, 2, 3, 4, 5, 6}
    s.remove(3)
    print(s)
    

    6. discard 指定元素删除,但是要删的元素不存在也不会报错

    s = {1, 2, 3, 4, 5, 6}
    s.discard(5)
    print(s)
    

    7. 交集

    s1 = {1, 2, 3}
    s2 = {2, 3, 4, 6}
    n = s1.intersection(s2)
    print(n)
    

    或者:&

    s1 = {1, 2, 3}
    s2 = {2, 3, 4, 6}
    n = s1 & s2
    print(n)
    

    8. 并集

    s1 = {1, 2, 3}
    s2 = {2, 3, 4, 6}
    n = s1.union(s2)
    print(n)
    

    或者:|

    s1 = {1, 2, 3}
    s2 = {2, 3, 4, 6}
    n = s1 | s2
    print(n)
    

    9.求差集(s1 中有而s2中没有)

    s1 = {1, 2, 3}
    s2 = {2, 3, 4, 6}
    n = s1.difference(s2)
    print(n)
    

    或者:-

    s1 = {1, 2, 3}
    s2 = {2, 3, 4, 6}
    n = s1 - s2
    print(n)
    

     10.交叉补集(s1 和 s2 的全部,减去两者的交集)

    s1 = {1, 2, 3}
    s2 = {2, 3, 4, 6}
    n = s1.symmetric_difference(s2)
    print(n)
    

    或者   ^

    s1 = {1, 2, 3}
    s2 = {2, 3, 4, 6}
    n = s1 ^ s2
    print(n)
    

    11.更新差集

    s1 = {1, 2, 3}
    s2 = {2, 3, 4, 6}
    s1.difference_update(s2)
    s1 = s1 - s2
    print(s1)
    print(s1)
    

    12. s1 是否是s2的子集

    s1 = {1, 2, 3}
    s2 = {1, 2, 3, 4, 6}
    n = s1.issubset(s2)
    print(n)
    

    13. s2是否是s1的父集

    s1 = {1, 2, 3}
    s2 = {1, 2, 3, 4, 6}
    n = s2.issuperset(s1)
    print(n)
    

    14. 更新多个值,参数可以是列表、元组等

    s1 = {1, 2, 3}
    s2 = {1, 2, 3, 4, 6}
    s1.update(s2)
    print(s1)
    

    15. 定义一个不可变的集合(不能增删改)

    s = frozenset("hello dabai")
    print(s)
    

    一个奋斗中的产品小白
  • 相关阅读:
    Oracle 数据库基础学习 (五) 多表查询
    Oracle 数据库基础学习 (四) group by的使用
    Oracle 数据库基础学习 (三) Oracle 四个表结构
    SQL简单语句总结习题
    Oracle 数据库基础学习 (二) 学习小例子:创建一个表,记录商品买卖的情况
    Oracle Database 11g For Windows7 旗舰版的安装
    Oracle to_char()函数的使用细则
    Hadoop集群常用的shell命令
    centos常用命令
    ssh免密码登陆(集群多台机器之间免密码登陆)
  • 原文地址:https://www.cnblogs.com/dabai123/p/10984879.html
Copyright © 2020-2023  润新知