zoukankan      html  css  js  c++  java
  • 集合

    集合是装 唯一值 的袋子。如果试图添加一个集合中已有的
    值,将不会发生任何事情。将不会引发一个错误;只是一条空
    操作。

    集合的定义以及使用:
    a_set={1,2,3,4}
    print("答应集合类型:")
    print(type(a_set))
    b_set={3,4,5,6}
    print("输出a集合元素:")
    print(a_set)
    print("输出b集合元素:")
    print(b_set)
    print("a,b集合之间的交集:")
    result=b_set.intersection(a_set)
    print(result)
    print("使用列表方式建集合:")
    a_list=['a','2','d','ef']
    a1_set=set(a_list)
    print(a1_set)
    print("打印转换后的类型:")
    print(type(a1_set))
    print('输出集合的长度:')
    print(len(a1_set))
    print(dir(a1_set))
    # ['__and__', '__class__', '__cmp__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
    # '__gt__', '__hash__', '__iand__', '__init__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__',
    # '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__',
    # '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__',
    # 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection',
    # 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop',
    # 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
    #add 函数 使用完该函数本身集合数据会发生改变
    a1_set.add("abcd")
    print(a1_set)
    print(len(a1_set))
    a1_set.add("abcd") 再增加一条一模一样的记录,集合集并不会发生改变。
    print(a1_set)

    discard() 接受一个单值作为参数,并从集合中删除该值。
    如果针对一个集合中不存在的值调用 discard() 方法,它不
    进行任何操作。不产生错误;只是一条空指令。
    remove() 方法也接受一个单值作为参数,也从集合中将其删
    除。
    区别在这里:如果该值不在集合中, remove() 方法引发一个
    KeyError 例外。
    a1_set.discard(3)
    print(a1_set)
    a1_set.discard(3) 不会报错
    print(a1_set)
    #a1_set.remove(3) 直接报错

    #无序去除集合里面一个数值
    a1_set.pop()
    print(a1_set)
    #清空集合
    #a1_set.clear()
     查看元素是否在集合里面:
    if 3 in a1_set:
    print("3 is in a1_set")
    else:
    print("3 is not in a1_set")

    if "abcd" in a1_set:
    print("abcd is in a1_set")
    else:
    print("abcd is not in a1_set")



    a={1,2,3,4,5}
    b={3,4,5,6,7}
    print(a.union(b))
    #union 返回一个新集合 原集合不变
    print(a.difference(b))
    #difference 函数返回所有有在a集合中出现在不在b集合中出现的元素
    print(a.intersection(b))
    #a.intersection返回所有有在a,b 集合同时出现的元素
    print(a.symmetric_difference(b))
    #symmetric_difference() 方法返回一个新集合,其中装着所有 只在其中一个 集合中出现的元素。
    print(a.union(b)==b.union(a))
    print(a.intersection(b)==b.intersection(a))
    print(a.symmetric_difference(b)==b.symmetric_difference(a))
    a={1,2,3}
    b={1,2,3,4}
    print(a.issubset(b))
    #判断a集合是否是b集合的子集
    print(b.issuperset(a))
    #判断b集合是否是a集合的超集

    a.add(5)
    #a集合加了一个元素后
    print(a.issubset(b))
    print(b.issuperset(a))
     
  • 相关阅读:
    使用 Markdown Flow 画流程图
    两串锂电池的电池匹配
    笔记: CC2540 和 CC2541 的区别
    Elasticsearch 5.x 关于term query和match query的认识
    es 批量导入文件
    mac 下搭建Elasticsearch 5.4.3分布式集群
    Elastic Search 5.4.3 java api 入门
    solr java demo 基础入门
    创建索引并进行查询
    RabbitMq 之简单队列
  • 原文地址:https://www.cnblogs.com/chenxiaoyong/p/6138857.html
Copyright © 2011-2022 走看看