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'})
  • 相关阅读:
    一些javascript的常用方法(转载)
    php在线处理视频 (在线视频转码,取得视频信息)
    在JS中最常看到切最容易迷惑的语法(转)
    jquery ui resizable bug
    设计技巧
    超大记录量数据库设计
    相似度分析(转)
    linux vi 替换命令
    今天发现一个关于CSS的东东,解决了我很多疑问
    Http Handler 介绍
  • 原文地址:https://www.cnblogs.com/wjlv/p/10819096.html
Copyright © 2011-2022 走看看