zoukankan      html  css  js  c++  java
  • Python-09-集合_set

     

    1 ello')
    2 print(s)
    3 s1 = set(["newmet","newmet","top"])
    4 print(s1)
    5 输出结果:
    6 {'h', 'e', 'l', 'o'}
    7 {'top', 'newmet'}

    class set(object):

    中文注释(方法):

      1 s = {1, 2, 3, 4, 5, 6}
      2 1、添加集合元素 - add
      3 s.add('n')
      4 print(s)
      5 
      6 # 2、清空集合 - clear
      7 s.clear()
      8 print(s)
      9 
     10 # 3、复制集合 - copy
     11 s1 = s.copy()
     12 print(s1)
     13 
     14 # 4、 随机删除集合中一个元素- pop
     15 s.pop()
     16 print(s)
     17 
     18 # 5、删除指定某个元素- remove、discard
     19 s.remove(1)
     20 s.remove("dasda")       # 删除不存在的元素,会报错
     21 s.discard("dfsdf")       # 删除不存在的元素,不会报错
     22 print(s)
     23 
     24 ##########无论交集、并集、差集、补集...在后面加上 update,就是把求出来的结果,作为新值,重新赋值给当前集合!!!
     25 
     26 # 6、 求两个集合的-交集- intersection
     27 s1 = [1, 3, 4, 6, 8, 9]
     28 s2 = [1, 2, 3, 4, 5, 6]
     29 new_s1 = set(s1)
     30 new_s2 = set(s2)
     31 print(new_s1, new_s2)
     32 print(new_s1.intersection(new_s2))        # intersection == &
     33 print(new_s1 & new_s2)
     34 
     35 # 7、 求连两个集合的-并集- union
     36 s1 = [1, 3, 4, 6, 8, 9]
     37 s2 = [1, 2, 3, 4, 5, 6]
     38 new_s1 = set(s1)
     39 new_s2 = set(s2)
     40 print(new_s1, new_s2)
     41 print(new_s1.union(new_s2))             # union == |
     42 print(new_s1 | new_s2)
     43 
     44 # 8、 求连两个集合的-差集- difference
     45 s1 = [1, 3, 4, 6, 8, 9]
     46 s2 = [1, 2, 3, 4, 5, 6]
     47 new_s1 = set(s1)
     48 new_s2 = set(s2)
     49 print(new_s1, new_s2)
     50 print(new_s1.difference(new_s2))             # difference == -
     51 print(new_s1 - new_s2)
     52 print(new_s2.difference(new_s1))
     53 print(new_s2 - new_s1)
     54 
     55 # 9、 求连两个集合的-交叉补集/对称补集- symmetric_difference
     56 s1 = [1, 3, 4, 6, 8, 9]
     57 s2 = [1, 2, 3, 4, 5, 6]
     58 new_s1 = set(s1)
     59 new_s2 = set(s2)
     60 print(new_s1.symmetric_difference(new_s2))      # symmetric_difference == ^
     61 print(new_s1^new_s2)
     62 
     63 # 10、 求完差集后,把结果赋值给new_s1(新集合) - difference_update
     64 s1 = [1, 3, 4, 6, 8, 9]
     65 s2 = [1, 2, 3, 4, 5, 6]
     66 new_s1 = set(s1)
     67 new_s2 = set(s2)
     68 print(new_s1,new_s2)
     69 
     70 new_s1.difference_update(new_s2)            # 求完差集后,把结果赋值给new_s1
     71 # new_s1 = new_s1 - new_s2
     72 print(new_s1)
     73 
     74 # 11、 判断两个集合是否有交集 - isdisjoint
     75 s1 = {1,2}
     76 s2 = {3,4}
     77 print(s1.isdisjoint(s2))            # 没有交集 - True   有交集 - False
     78 
     79 # 12、 判断s1 是否是 s2 的 子集( issubset ) 父集/超集( issuperset )
     80 s1 = {1,2,3,4}
     81 s2 = {3,4}
     82 print(s1.issubset(s2))          # 判断s1 是否是 s2 的子集
     83 # 结果:False
     84 print(s1.issuperset(s2))          # 判断s1 是否是 s2 的父集
     85 # 结果:True
     86 
     87 # 13、 更新多个值 (只要是可迭代就可以作为更新值)- update
     88 s1 = {1,2,3,4}
     89 s2 = {3,4,8}
     90 s1.update(s2)                   # 结果:{1, 2, 3, 4, 8}
     91 print(s1)
     92 
     93 ################### 补充:##########################
     94 
     95 s = frozenset('hello world')            # 不可变集合
     96 print(s)
     97 
     98 # 简易的  消去重复元素
     99 v = [12,12,33,44,55,55]
    100 new_v = list(set(v))
    101 print(new_v)
  • 相关阅读:
    【HDOJ5538】House Building(计算几何)
    maven操作
    Guava 是个风火轮之函数式编程(3)——表处理
    guava 学习笔记 使用瓜娃(guava)的选择和预判断使代码变得简洁
    guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用
    Google Guava官方教程(中文版)
    Guava中Predicate的常见用法
    guava函数式编程
    idea常用快捷键
    guava
  • 原文地址:https://www.cnblogs.com/newmet/p/9946431.html
Copyright © 2011-2022 走看看