• python_31_集合


    # 集合是一个无序的,不重复的数据组合,它的主要作用如下:
    # 去重,把一个列表变成集合,就自动去重了
    # 关系测试,测试两组数据之前的交集、差集、并集等关系
    s = set([3, 5, 9, 10])  # 创建一个数值集合
    t = set("Hello")  # 创建一个唯一字符的集合
    t.add('x')# 添加一项
    s.update([10,37,42])  # 在s中添加多项
    t.remove('H')#使用remove(),可以删除一项
    print(s,t)#集合是无序的
    print('x' in t)#测试 x 是否是 s 的成员,列表,集合,字典,字符串都是这样判断
    print('x' not in t)#测试 x 是否不是 s 的成员
    print(len(s))# set的长度
    print(t.pop())#任意删除一个元素,并把这个删除的元素返回
    print(s.discard(3))#删除指定元素,如果指定元素不存在,也不会报错,而remove则会报错
    print(s.discard(333))
    #print(s.remove(333))#指定删除的元素不存在,所以报错
    print(s)
    
    list_1=[1,4,7,5,6,3,6,7,9]
    list_1=set(list_1)#创建集合,已经去掉重复的;集合是无序的
    list_2=set([2,6,0,66,22,8,4])
    print(list_1,type(list_1),list_2)
    #交集(两种方式)
    print(list_1.intersection(list_2))
    print(list_1&list_2)#运算符形式
    #并集(两种方式)
    print(list_1.union(list_2))
    print(list_1|list_2)
    #差集(两种方式)
    print(list_1.difference(list_2))#取出list_1有的,list_2中没有的(in list_1 but not in list_2)
    print(list_1-list_2)
    print(list_2.difference(list_1))
    print(list_2-list_1)
    #子集,父集
    print(list_1.issubset(list_2))#判断list_1是否是list_2的子集,即:测试是否 list_1 中的每一个元素都在list_2中
    print(list_1.issuperset(list_2))#判断ist_1是否是list_2父集 即:测试是否 list_2中的每一个元素都在 list_1 中
    list_3=set([1,3,7])
    print(list_3.issubset(list_1))
    print(list_1.issuperset(list_3))
    #对称差集(两种方式)    项在list_1或list_2中,但不会同时出现在二者中
    print(list_1.symmetric_difference(list_2))#list_1和list_2不相同的并在一起
    print(list_1^list_2)
    #判断是否有交集,如果有交集返回为False,否则返回为True
    print(list_1.isdisjoint(list_2))
    list_4=set([5,6,8])
    print(list_3.isdisjoint(list_4))
    

      

  • 相关阅读:
    STL容器 erase的使用陷井
    转:VC++线程同步-事件对象
    VC线程同步方法
    C/C++四种退出线程的方法
    rabbitMQ 常用命令
    Spring @Configuration
    Spring RabbitMQ 延迟队列
    rabbitmq web管理界面 用户管理
    Linux下tar.gz 安装
    Linux下RPM软件包的安装及卸载
  • 原文地址:https://www.cnblogs.com/tianqizhi/p/8231204.html
Copyright © 2020-2023  润新知