• 集合


    课程:集合

    目标

    • 创建集合
    • 集合数据的特点
    • 集合的常见操作

    一. 创建集合

    创建集合使用{}set(), 但是如果要创建空集合只能使用set(),因为{}用来创建空字典。

    s1 = {10, 20, 30, 40, 50}
    print(s1)
    
    s2 = {10, 30, 20, 10, 30, 40, 30, 50}
    print(s2)
    
    s3 = set('abcdefg')
    print(s3)
    
    s4 = set()
    print(type(s4))  # set
    
    s5 = {}
    print(type(s5))  # dict
    

    image-20190318104620690

    特点:

    1. 集合可以去掉重复数据;
    2. 集合数据是无序的,故不支持下标

    二. 集合常见操作方法

    2.1 增加数据

    • add()
    s1 = {10, 20}
    s1.add(100)
    s1.add(10)
    print(s1)  # {100, 10, 20}
    

    因为集合有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。

    • update(), 追加的数据是序列。
    s1 = {10, 20}
    # s1.update(100)  # 报错
    s1.update([100, 200])
    s1.update('abc')
    print(s1)
    

    image-20190318121424514

    2.2 删除数据

    • remove(),删除集合中的指定数据,如果数据不存在则报错。
    s1 = {10, 20}
    
    s1.remove(10)
    print(s1)
    
    s1.remove(10)  # 报错
    print(s1)
    
    • discard(),删除集合中的指定数据,如果数据不存在也不会报错。
    s1 = {10, 20}
    
    s1.discard(10)
    print(s1)
    
    s1.discard(10)
    print(s1)
    
    • pop(),随机删除集合中的某个数据,并返回这个数据。
    s1 = {10, 20, 30, 40, 50}
    
    del_num = s1.pop()
    print(del_num)
    print(s1)
    

    2.3 查找数据

    • in:判断数据在集合序列
    • not in:判断数据不在集合序列
    s1 = {10, 20, 30, 40, 50}
    
    print(10 in s1)
    print(10 not in s1)
    

    三. 总结

    • 创建集合

      • 有数据集合
      s1 = {数据1, 数据2, ...}
      
      • 无数据集合
      s1 = set()
      
    • 常见操作

      • 增加数据
        • add()
        • update()
      • 删除数据
        • remove()
        • discard()
    别废话,拿你代码给我看。
  • 相关阅读:
    POJ 3683 Priest John's Busiest Day (2-SAT+输出可行解)
    Codeforces #2B The least round way(DP)
    避免死锁的银行家算法C++程序实现
    源代码编译安装MySQL5.6.12具体过程
    Android 设计模式
    Java与设计模式-适配器模式
    Java和Flex整合报错(五)
    三层架构—再思考
    怎样让DBGrid在按住Shift点鼠标的同时能将连续范围的多行选中?
    找出你的短板
  • 原文地址:https://www.cnblogs.com/lvxueyang/p/13714518.html
Copyright © 2020-2023  润新知