zoukankan      html  css  js  c++  java
  • [ python ] 集合的使用

    集合的使用

      可变数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。

    集合的增删查

      集合是没有改这种说法的:

        (1)集合的元素无序的;

        (2)集合的元素为不可变类型

     增加

    add    为集合新增一个元素

    set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
    set1.add('vivi')	# 在集合中新增一个元素
    print(set1)
    
    # 执行结果:
    # {'xiaofei', 'vivi', 'haha', 'xixi', 'hkey'}
    

    update    将字符串的每个元素作为独立的元素添加到集合中

    set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
    set1.update('abc')  # 将字符串 abc 分别作为三个元素插入到集合中
    print(set1)
    
    # 执行结果:
    # {'c', 'xiaofei', 'xixi', 'hkey', 'a', 'haha', 'b'}
    

    删除

    pop    随机删除,有返回值

    set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
    
    print(set1.pop())   # 随机删除集合中的元素,并返回该元素
    print(set1) 
    
    # 执行结果:
    # hkey
    # {'xiaofei', 'xixi', 'haha'}
    

     remove 按元素删除

    set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
    
    set1.remove('haha') # 按照元素删除
    print(set1)
    
    # 执行结果:
    # {'hkey', 'xixi', 'xiaofei'}
    

     clear 清空列表

    set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
    
    set1.clear()    # 清空整个集合
    print(set1)
    
    # 执行结果:
    # set()
    

     del 删除整个集合

    set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
    
    del set1
    

    集合没有修改:1. 无序的;2. 不可变类型

    查找

    集合只能用 for 查看, 集合是可迭代序列

    集合运算

         集合运算功能包括:
            1. 消除重复元素;
            2. 关系测试

    交集:& 和 并集:|

    set1 = {1, 2, 3}
    set2 = {2, 3, 4}
    
    print(set1 & set2)  # 计算交集
    
    # 执行结果:
    # {2, 3}
    
    print(set1 | set2)  # 计算并集
    
    # 执行结果:
    # {1, 2, 3, 4}  # 集合中的元素是不可重复的
    

     反交集: ^  就是除了交集以外元素的集合

    set1 = {1, 2, 3}
    set2 = {2, 3, 4}
    
    print(set1 ^ set2)  # 反交集
    
    # 执行结果:
    # {1, 4}
    

     差集:-  set1 - set2 : set1 而 set2 没有的元素的集合

    set1 = {1, 2, 3, 4}
    set2 = {2, 3, 4, 7}
    
    print(set1 - set2)
    
    # 执行结果:
    # {1}
    

    frozenset() 将集合可变类型转换为不可变类型;

    set1 = {1, 2, 3, 4}
    set2 = {2, 3, 4, 7}
    
    s1 = frozenset(set1)
    print(s1, type(s1))
    
    # 执行结果:
    # frozenset({1, 2, 3, 4}) <class 'frozenset'>
    
  • 相关阅读:
    Docker安装MySQL&Redis
    使用VirtualBox+Vagrant快速搭建Linux虚拟机环境
    Java集合工具类的一些坑,Arrays.asList()、Collection.toArray()...
    1.docker常用命令
    4. 带有延迟时间的Queue(DelayQueue)
    3. 基于优先级的Queue(PriorityBlockingQueue)
    2. 常见的Queue
    1. 模拟Queue
    14. 线程调度
    13. 线程池
  • 原文地址:https://www.cnblogs.com/hukey/p/9668470.html
Copyright © 2011-2022 走看看