• python集合以及编码初识


    一.集合  set

      集合是无序的,天然能去重,是可变的.例:s = {1,2,3,4,5}  

    1 s = {}
    2 s1 = {1}
    3 print(type(s))   # 空{}就是字典
    4 print(type(s1))  #集合

      集合的基本操作:

      1.增

         s = {1,2,3,'22',,'ss',(3,4)}

        s.add('元素')

        s.update('alex')      #迭代添加  'alex'会被分割添加

      2.删

        s = {1,2,3,'22',,'ss',(3,4)}

        s.remove()    #通过元素指定删除 

          s.pop()                 #随机删除,有返回值,返回的是删除的元素

          s.clear()               #清空set

          del  s                    #删除整个集合

      3.改

        先删后增就是改.    

    1 s = {1,2,3,'22','ss',(3,4)}
    2 s.remove(3)
    3 s.add(7)
    4 print(s)

      4.查

        通过for循环实现

      5.其他操作:

        1.通过set去重

    lst = [1,2,3,42,3,45,67,534,2]
    print(list(set(lst)))
    

        2.

    1 s = {'黑哥'}
    2 s1 = {'虎哥','开哥','alex哥','黑哥','wu哥'}
    3 print(s & s1)  #  交集  俩个集合都有的才输出
    4 print(s | s1)    #   并集  两个集合 合并到一起
    5 print(s1 - s)       # 差集   前面减后边的集合前边集合中有的输出出来   
    6 print(s ^ s1)         # 反交集  相当于并集-交集
    7 print(s < s1)     # 子集
    8 print(s1 > s)     # 超(父)集

        3.冻结集合 frozenset()

    1 a = frozenset((1,2,3))
    2 dic ={a:1}
    3 print(dic)

    二.二次编码

        ascii        不支持中文

        unicode   万国码 中文4个字节 英文 2个

        utf-8    最少使用1个字节 欧洲 2 亚洲 3
        gbk      中文 2 英 1
        windows   默认编码GBK

    1 a = '你好黑'
    2 a2 = a.encode('utf-8')   #编码
    3 print(a)
    4 print(a2)
    5 a3 = a2.decode('utf-8')  #解码
    6 print(a3)

        ###bytes字节用于传输和存储

       注意:用什么编就用什么写!

    三.基础数据类型补充

      1.通过for循环删除列表中所有元素

    1 lst = [1,2,3,4,5]
    2 for i in range(len(lst)):
    3     lst.pop()
    4 print(lst)

        还可通过新建列表删除

    1 lst = [1,2,3,4,5]
    2 lst1 = []
    3 
    4 for i in lst:
    5     lst1.append(i)
    6 for k in lst1:
    7     lst.remove(k)
    8 print(lst)

         字典在循环过程中不能进行增加和删除,字典也可通过新建字典的方法删除

    1 lst = {}
    2 dic ={'a':1,'b':2}
    3 for i in dic:
    4     lst[i]= dic[i]
    5 for i in lst:
    6     dic.pop(i)
    7 print(dic)

      2.字典的fromkeys()方法

    1 dic = dict.fromkeys(['alex','wusir','wenzhou','nvshen','kaige'],['太白','姗姗'])
    2 fromkeys   #第一是键  第二是值
    3 print(dic)

    四.深浅拷贝

      浅拷贝:只拷贝第一层元素

      深拷贝:拷贝所有元素,开辟新的空间储存,两者没有任何关系

    浅拷贝

    1 lst = [1,2,3,[4,5,6],7]
    2 lst1 = lst    #赋值
    3 lst2 = lst[:] # 切片
    4 lst.append(7)
    5 print(lst)
    6 print(lst2)

    深拷贝

    1 import copy
    2 lst4 = copy.deepcopy(lst)  # 深拷贝
    3 lst[-2].append(7)
    4 print(lst)   #[1, 2, 3, [4, 5, 6,7], 7]
    5 print(lst4)  #[1, 2, 3, [4, 5, 6], 7]

        

        

  • 相关阅读:
    手动启动log4j|nginx实现http https共存
    java.util.zip.ZipException: invalid LOC header (bad signature)
    Bean property 'transactionManagerBeanName' is not writable or has an invalid set
    rabbitmq启动异常table_attributes_mismatch
    nexus私服快速update index方法
    Spring boot ,dubbo整合异常
    如何编写无须人工干预的shell脚本
    Jenkins构建部署jar/war后,服务无法在后台持续运行的解决方案
    移动端CSS通用样式
    Spring bean的几种装配方式
  • 原文地址:https://www.cnblogs.com/wangtaobiu/p/9873004.html
Copyright © 2020-2023  润新知