zoukankan      html  css  js  c++  java
  • 学习笔记-Python基础7-列表元祖字典集合-集合set

      1 #集合
      2 #一、概念:参照高中数学,一堆确定的无序的唯一数据,没有重复
      3 #1、创建set两种方法
      4 s = set()
      5 print(type(s),s)
      6 s = {1, 2, 3} #大括号内一定要有值
      7 print(type(s),s)
      8 #二、集合特征
      9 #1、因为集合内部数据无序,所以无法使用索引和切片
     10 #2、合内部数据元素具有唯一性,可排除重复数据
     11 #3、内部的元素可以是str、int、float、tuple、冰冻集合等,凡是可以哈希的数据都可以
     12 #三、集合的序列操作
     13 #1、成员检测:in、note in 
     14 s = {1, 2, "love", 4, "dadada","i"}
     15 print(s)
     16 if "love" in s:
     17     print("这是珍爱")
     18 if "xiaomei" not in s:
     19     print("都是假的")
     20 #四、集合的遍历
     21 #1、for循环遍历
     22 for i in s:
     23     print(i, end=" ")
     24 print()
     25 #2、带有元祖的循环遍历
     26 s = {(1, 2, 3), ("i", "love", "xxx"), (4, 5, 6)}
     27 for k,m,n in s:
     28     print(k, "---", m, "---", n)
     29 for i in s:
     30     print(i)
     31 #3、集合的内涵
     32 #1、普通集合内涵
     33 s = {1, 2, 3, 1, 2, 4} #初始化自动去重
     34 print(s)
     35 ss = {i for i in s}
     36 print(ss)
     37 #2、带条件的集合内涵
     38 sss = {i for i in s if i % 2 == 0}
     39 print(sss)
     40 #3、多重循环的集合内涵
     41 s1 = {1, 2, 3, 4}
     42 s2 = {"i", "love", "www"}
     43 s = {m*n for m in s2 for n in s1}
     44 print(s)
     45 s = {m*n for m in s2 for n in s1 if n == 2} #复制一次s2的每个值
     46 print(s)
     47 #五、set可以使用的内置函数
     48 #len、max、min
     49 s = {1, 2, 1, 3}
     50 print(len(s),max(s),min(s))
     51 #set,用其他数据生成集合
     52 l = [1, 2, 3]
     53 s = set(l)
     54 print(s)
     55 #add,向集合内添加元素
     56 s = {1, 2}
     57 s.add(111)
     58 print(s)
     59 #clear,清空自身元素
     60 s.clear()
     61 print(s)
     62 #copy
     63 s = {1, 2}
     64 ss = s.copy()
     65 print(ss)
     66 #remove,原set上移除指定值,如果找不到值,会报错
     67 s.remove(2)
     68 print(s)
     69 #discard,原set上移除指定值,如果找不到值,不会报错
     70 s.discard(100)
     71 print(s)
     72 #pop,随机弹出一个元素
     73 s = [1, 2, 3]
     74 d = s.pop()
     75 print(d,s)
     76 '''
     77 打印如下:
     78 <class 'set'> set()
     79 <class 'set'> {1, 2, 3}
     80 {1, 2, 4, 'love', 'dadada', 'i'}
     81 这是珍爱
     82 都是假的
     83 1 2 4 love dadada i 
     84 i --- love --- xxx
     85 4 --- 5 --- 6
     86 1 --- 2 --- 3
     87 ('i', 'love', 'xxx')
     88 (4, 5, 6)
     89 (1, 2, 3)
     90 {1, 2, 3, 4}
     91 {1, 2, 3, 4}
     92 {2, 4}
     93 {'wwwwww', 'lovelovelovelove', 'wwwwwwwww', 'iiii', 'www', 'love', 'lovelove', 'wwwwwwwwwwww', 'ii', 'lovelovelove', 'i', 'iii'}
     94 {'wwwwww', 'lovelove', 'ii'}
     95 3 3 1
     96 {1, 2, 3}
     97 {1, 2, 111}
     98 set()
     99 {1, 2}
    100 {1}
    101 {1}
    102 3 [1, 2]
    103 '''
     1 #集合的函数:交叉并补
     2 #intersection,交集,相交的那块
     3 #difference,差集,去掉相交的那块求剩下的
     4 #union,并集,把二者去重后合起来
     5 #issubset,检查一个集合是不是另一个集合的子集
     6 #issuperset,检查一个集合是否是另一个集合的超集
     7 s1 = {1, 2, 3, 4}
     8 s2 = {3, 4, 5, 6}
     9 s_1 = s1.intersection(s2)
    10 print(s_1)
    11 s_2 = s1.difference(s2)
    12 print(s_2)
    13 s_3 = s1.union(s2)
    14 print(s_3)
    15 #集合的数学操作
    16 s1 = {1, 2, 3, 4}
    17 s2 = {3, 4, 5, 6}
    18 s_1 = s1 - s2 #相当于求差集操作
    19 print(s_1)
    20 #frozenset冰冻集合,一种特殊集合,不能进行修改,除此之外具有集合的所有特性
    21 s = frozenset()
    22 print(type(s),s)
    23 '''
    24 打印如下:
    25 {3, 4}
    26 {1, 2}
    27 {1, 2, 3, 4, 5, 6}
    28 {1, 2}
    29 <class 'frozenset'> frozenset()
    30 '''
  • 相关阅读:
    UITextField小结
    由iPhone项目生成iPad项目
    ios界面动画小结
    UIImagePickerController Class
    Xcode调试相关小结
    cocos2d简易引导
    python 多个装饰器组合应用,实现面向切面之AOP编程
    python 元类型编程, 单例模式SingleTon的一种实现方式
    python 实现简单的PerformanceCountCallHandler装饰器
    wxpython 之 GDI(二)
  • 原文地址:https://www.cnblogs.com/Cloudloong/p/9619988.html
Copyright © 2011-2022 走看看