• Python集合常用的操作


    集合

    集合是可变数据类型,但它里面的元素必须是不可变的数据类型。

    集合无序且不重复,有着字典的外形,但内部元素不是键值对。

    set1 = set({1,2,3})
    set2 = {1,2,3,[2,3],{'name':'mumu'}}  # 错的
    print(set1)
    print(set2)
    set1 = {'mm', 'mumu', '怪大叔', '小哥哥'}

    1、集合的增删查

    set = {'mm', 'mumu', '怪大叔', '小哥哥'}

    set.add('男神')  # 随机无序添加
    set.update('abc')  # 拆分迭代,随机添加

    set.pop()  # 随机删除,有返回值
    set.remove('mm')  # 按元素,若没有,则会报错
    # set.clear()  # 清空
    # del set  # 删除集合

    for i in set:
        print(i)
    

      

    2、集合的基本运算

    交集

    A = {1, 2, 3, 4}
    B = {3, 4, 5, 6, 7}
    C = A.intersection(B)  # {3, 4}
    D = A & B  # {3, 4}

    并集

    C = A.union(B)  # {1, 2, 3, 4, 5, 6, 7}
    D = A | B  # {1, 2, 3, 4, 5, 6, 7}

    反交集

    C = A.symmetric_difference(B)  # {1, 2, 5, 6, 7}
    D = A ^ B  # {1, 2, 5, 6, 7}

    差集

    C = A.difference(B)  # A独有的部分,{1, 2}
    D = A - B  # A独有的部分,{1, 2}

    集合判断

    A = {1,2,3,}
    B = {1,2,3,4,5,6}
    print(A < B)
    print(A.issubset(B))  # 这两个相同,都是说明A是B子集。
    print(B > A)
    print(B.issuperset(A))  # 这两个相同,都是说明B是A超集。
    

      

    3、去重

    li = [1, 2, 33, 33, 2, 1, 4, 5, 6, 6]
    set1 = set(li)
    li = list(set1)  # [1, 2, 33, 4, 5, 6]
    

      

    4、不可变的集合

    s = frozenset('mumu哟')
    print(s,type(s))  # 无序,拆分,元素唯一,frozenset({'u', '哟', 'm'}) <class 'frozenset'>
    for i in s:
        print(i)
    

      

  • 相关阅读:
    服务器与本地时间的倒计时
    没有花括号(大括号)的for循环也能正确执行
    js瀑布流效果
    AQS详解(AbstractQueuedSynchronizer)
    SimpleDateFormat的线程安全问题与解决方案
    jvm不打印异常栈
    Java中的序列化Serialable高级详解
    java梳理-序列化与反序列化
    AQS详解
    对ConditionQueue和锁的理解
  • 原文地址:https://www.cnblogs.com/MuMuyom/p/10649123.html
Copyright © 2020-2023  润新知