zoukankan      html  css  js  c++  java
  • 集合常见操作

    # 数据类型分类
    # 可变类型:列表、字典
    # 不可变类型:整数、字符串、元组
    
    
    # 集合 set
    # 集合中存放的是不可变类型
    # 集合的元素不可重复
    # 集合是无序的
    
    # 若设置集合为字符串,则遍历字符串的每个字符添加到集合
    s = set('aabbcc')
    print(s)  # 结果为{'b', 'a', 'c'}
    
    s = set(['aa', 'bb', 'cc', 'aa'])
    print(s)  # 结果为{'aa', 'bb', 'cc'}要与下方做对比
    
    # # 列表等可变类型无法作为元素添加至集合
    # s = set(['aa', 'bb', 'cc', 'aa'], 1)
    # print(s)  # 结果为{'aa', 'bb', 'cc'} # 此时会报错
    
    # add('abc') # 追加一个元素(无序)
    s.add('abc')
    print(s)
    
    # update(s2) # 求并集并更新
    s1 = {1, 2}
    s2 = {3, 4}
    s1.update(s2)
    print(s1)
    
    # pop() # 随即删除集合的元素,删除的结果可获取
    v = s.pop()
    print(s, v)
    
    # remove('ac') # 指定元素移除
    s.remove('cc')
    print(s)
    
    # 集合运算
    
    s1 = {'abc', 'zs', 'ls'}
    s2 = {'zs', 'ls', 'bcd'}
    
    # 求交集&
    print(s1 & s2)
    print(s1.intersection(s2))
    
    # 求并集|
    print(s1 | s2)
    print(s1.union(s2))
    
    # 求差集-
    print(s1 - s2)
    print(s1.difference(s2))
    
    # 求交叉补集^
    print(s1 ^ s2)
    print(s1.symmetric_difference(s2))
    
    s1 = {'abc', 'zs', 'ls'}
    s2 = {'zs', 'ls', 'bcd'}
    
    # 求差集并更新
    s1.difference_update(s2)
    print(s1)
    
    # 判断无交集
    s1 = {1, 2}
    s2 = {3, 4}
    print(s1.isdisjoint(s2))
    
    # 判断子集
    s1 = {1, 2}
    s2 = {1, 2, 3, 4}
    print(s1.issubset(s2))
    
    # 判断父集
    s1 = {1, 2}
    s2 = {1, 2, 3, 4}
    print(s2.issuperset(s1))
    
    # 集合是可变类型,但是也可以通过来定义不可变集合
    s = frozenset('abcd')
    print(s)  # 结果为 frozenset({'b', 'c', 'd', 'a'})
  • 相关阅读:
    Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
    Twsited异步网络框架
    MySQL-python模块
    python3安装Fabric模块
    PInvoke.net Visual Studio Extension
    资源下载站
    WPF RTSP存储到一个文件中的位置
    Windows 7 中未能从程序集System.ServiceModel
    无法在WEB服务器上启动调试,Web 服务器配置不正确
    CS0016: 未能写入输出文件“c:WINDOWSMicrosoft.NETFramework.。。”--“拒绝访问
  • 原文地址:https://www.cnblogs.com/wjlv/p/10819096.html
Copyright © 2011-2022 走看看