• python--集合-set


     1  1 # 集合-set
     2  2 #     集合是高中的要给概念
     3  3 #     一堆确定的无序的唯一的数据, 集合中的每一个数据成为一个元素
     4  4 
     5  5 # 集合的定义
     6  6 s = set()
     7  7 print(type(s))
     8  8 print(s)
     9  9 
    10 10 # 此时大括号中一定要有值, 否则定义出的是要给dict
    11 11 s = {1, 2, 3, 4, 5, 6}
    12 12 print(type(s))
    13 13 print(s)
    14 14 
    15 15 # 如果只是用大括号定义,则定义的是要给dict类型
    16 16 d = {}
    17 17 print(type(d))
    18 18 print(d)
    19 19 
    20 20 
    21 21 :::
    22 22 <class 'set'>
    23 23 set()
    24 24 <class 'set'>
    25 25 {1, 2, 3, 4, 5, 6}
    26 26 <class 'dict'>
    27 27 {}
      1 # 集合的特征
      2 #     集合内数据无序, 即无法使用索引和分片
      3 #     集合内部数据元素具有唯一性, 可以用来排斥重复数据
      4 #     集合内数据, str, int, float, tuple, 集合等, 即内部只能放置可哈希数据
      5 
      6 # 集合序列操作
      7 # 成员检查
      8 # in, not in
      9 s = {4, 5, "i", "love", "xj"}
     10 print(s)
     11 if "love" in s:
     12     print("爱呀")
     13 if "ni" not in s:
     14     print("挨个锤子")
     15 
     16 # 集合遍历操作
     17 # for 循环
     18 s = {4, 5, "i", "love", "xj"}
     19 print(s)
     20 for i in s:
     21     print(type(i), end=" ")
     22 print()
     23 # 带有元组的集合遍历
     24 s = {(1, 2, 3), ("i", "love", "xj"), (4, 5, 6)}
     25 print(s)
     26 for k, m, n in s:
     27     print(k, "--", m, "--", n)
     28 
     29 for k in s:
     30     print(k)
     31 
     32 
     33 # 集合的内涵
     34 # 以下集合会在初始化后自动过滤重复元素
     35 s = {23, 223, 545, 3, 1, 2, 3, 4, 3, 2, 3, 1, 2, 4, 3}
     36 print(s)
     37 
     38 # 普通集合内涵
     39 ss = {i for i in s}
     40 print(ss)
     41 
     42 # 带条件的集合内涵
     43 # 保留偶数
     44 ss = {i for i in s if i % 2 == 0}
     45 print(ss)
     46 
     47 
     48 # 多循环的集合内涵
     49 s1 = {1, 2, 3, 4}
     50 s2 = {"i", "love", "xj"}
     51 
     52 s = {m*n for m in s1 for n in s2 if m == 3}
     53 print(s)
     54 
     55 
     56 # 集合函数/关于集合的函数
     57 # len, max, min, 跟其他基本一致
     58 s = {43, 23, 56, 223, 4, 2, 1222, 4, 323, 1}
     59 print(len(s))
     60 print(max(s))
     61 print(min(s))
     62 
     63 # set:生成一个集合
     64 list1 = [1, 2, 3, 4, 3, 23, 1, 2, 3, 4]
     65 s = set(list1)
     66 print(s)
     67 
     68 # add:向集合那内添加元素
     69 s = {1, 2, 3}
     70 s.add(334)
     71 print(s)
     72 
     73 # clear
     74 s = {1, 2, 3, 4, 5}
     75 print(id(s))
     76 s.clear()
     77 print(id(s))
     78 # 结果表明clear函数是原地清空数据
     79 
     80 # copy:拷贝
     81 # remove:移除指定的值
     82 
     83 
     84 :::
     85 {4, 5, 'i', 'love', 'xj'}
     86 爱呀
     87 挨个锤子
     88 {4, 5, 'i', 'love', 'xj'}
     89 <class 'int'> <class 'int'> <class 'str'> <class 'str'> <class 'str'> 
     90 {('i', 'love', 'xj'), (4, 5, 6), (1, 2, 3)}
     91 i -- love -- xj
     92 4 -- 5 -- 6
     93 1 -- 2 -- 3
     94 ('i', 'love', 'xj')
     95 (4, 5, 6)
     96 (1, 2, 3)
     97 {545, 1, 3, 2, 4, 23, 223}
     98 {545, 2, 3, 4, 1, 23, 223}
     99 {2, 4}
    100 {'xjxjxj', 'lovelovelove', 'iii'}
    101 9
    102 1222
    103 1
    104 {1, 2, 3, 4, 23}
    105 {1, 2, 3, 334}
    106 1648740500648
    107 1648740500648
     1 接上面内容
     2 # copy:拷贝
     3 # remove:移除指定的值
     4 s = {1, 2, 3, 4, 5}
     5 s.remove(4)
     6 print(s)
     7 s.discard(1)
     8 print(s)
     9 print("*" * 20)
    10 s.discard(10)
    11 print(s)
    12 # s.remove(10)  # 为啥remove不存在的之会报keyerror
    13 print(s)
    14 
    15 
    16 # pop随机移除一个元素
    17 s = {3, 2, 1, 5, 6, 4, 7}
    18 d = s.pop()
    19 print(d)
    20 print(s)
    21 d = s.pop()
    22 print(d)
    23 print(s)
    24 
    25 thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
    26 print(thisset)
    27 pop_data = thisset.pop()
    28 print(pop_data)
    29 print(thisset)
    30 pop_data = thisset.pop()
    31 print(pop_data)
    32 print(thisset)
    33 
    34 
    35 :::
    36 {1, 2, 3, 5}
    37 {2, 3, 5}
    38 ********************
    39 {2, 3, 5}
    40 {2, 3, 5}
    41 1
    42 {2, 3, 4, 5, 6, 7}
    43 2
    44 {3, 4, 5, 6, 7}
    45 {'Google', 'Facebook', 'Runoob', 'Taobao'}
    46 Google
    47 {'Facebook', 'Runoob', 'Taobao'}
    48 Facebook
    49 {'Runoob', 'Taobao'}
    # 集合函数
    # intersection :交集
    # difference :差集
    # union :并集
    # issubset :检查一个集合是否为另一个子集
    # issuperset :检查一个集合是偶为另一个超集
    
    s1 = {1, 2, 3, 4, 5, 6}
    s2 = {5, 6, 7, 8, 9}
    s_1 = s1.intersection(s2)
    print(s_1)
    
    s_2 = s1.difference(s2)
    print(s_2)
    s_3 = s1.issubset(s2)
    print(s_3)
    
    # frozen:冰冻集合
    #     冰冻集合就是不可以进行任何修改的集合
    #     frozenset是一种特殊集合
    
    # 创建
    s = frozenset()
    print(type(s))
    print(s)
    
    
    :::
    {5, 6}
    {1, 2, 3, 4}
    False
    <class 'frozenset'>
    frozenset()
  • 相关阅读:
    Linux性能优化实战学习笔记:第十九讲
    Linux性能优化实战学习笔记:第二讲
    Docker:企业级私有仓库harbor[十六]
    Docker:跨主机容器间通信之overlay [十五]
    Docker:macvlan实现容器跨主机通信 [十四]
    Docker:容器的四种网络类型 [十三]
    Docker:单机编排工具docker-compose [十二]
    Docker:私有仓库registry [十一]
    Docker:容器间互联的应用zabbix监控项目 [十]
    Docker:dockerfile镜像的分层 [九]
  • 原文地址:https://www.cnblogs.com/Slxc/p/9712632.html
Copyright © 2020-2023  润新知