zoukankan      html  css  js  c++  java
  • python基础05--深浅copy, set,bytes

    1.1 深浅 copy

    1、 =  赋值操作, lis1=[1,2,3]  list2 = list1  list1.append(4)  list1,list2都变

    赋值都指向同一个地址,改变一个就会改变另外一个

    赋值操作 他俩一样的

     

    2、copy 浅拷贝   复制了一份,创建新对象, 拷贝第一层

    list1 = [1,2,3]      list2 = list1.copy()        list1list2不是一个对象

    list1 = [1,2,3]      list2=list1[:]            切片产生新对象

     

    3、deepcopy 深拷贝   复制了一份,创建新对象,包括内部所有内容进行拷贝

    import copy      

    list1 = [1,2,[3,4,5]]      list2 = copy.deepcopy(list1)  

     

    拷贝比创建对象的过程快

     

    1.2 集合 set

    1、可变数据类型,他里面的元素必须是不可变数据类型,无序,不重复

    2、可以使用大括号 { } 或者 set() 函数创建集合,

          注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    3、set可以进行集合运算

    print(a - b)     # ab的差集

    print(a | b)     # ab的并集

    print(a & b)     # ab的交集

    print(a ^ b)     # ab中不同时存在的元素

     

    4、set操作

    增:

    set1.add(元素)  无序添加到集合

    set1.update(seq)       seq中每个元素无序添加到集合

     

    删:

    set1.pop()             随机删除,返回被删除的元素

    set1.remove(元素)      删除元素,无该元素报错

    set1.clear()             清空字典

    del set1                删除字典

     

    查:

    for i in set1:print(i)

     

    5、列表转化为集合     自动去除列表中重复元素

    set(list)

     

    1.3 小数据池

    1、= 赋值  == 比较值是否相等  is 比较内存地址  id(内容)内存地址

    变量赋值运算 两个变量指向的是一个地址,改变一个,则都会改变

     

    数字,字符串 小数据池,如果创建数据池之内的范围,则共用一个

    数字范围 -5---256

    字符串范围:1,不能有特殊字符

    int1 = 2   int2 = 2    int1int2 在内存中使用一个id

    int1= 300  int2 = 300  int1int2 在内存中使用的不是一个id

     

    #剩下的 list dict tuple set  没有这个概念

    lis1 = [1,2,3]  lis2=[1,2,3]   lis1lis2在内存中不是一个id

     

    1.4 bytes

    bytes类型 适用存储和网络传输

    encode 编码,获取到编码后的结果,bytes   

    decode 解码,bytes编程为我们熟悉的字符串

    string = b'xxxxxx'.decode() 直接以默认的utf-8编码解码bytesstring

    b = string.encode(“utf-8”) 直接以默认的utf-8编码stringbytes

  • 相关阅读:
    codechef Dynamic GCD [树链剖分 gcd]
    bzoj 4546: codechef XRQRS [可持久化Trie]
    bzoj 4835: 遗忘之树 [树形DP]
    bzoj 4033: [HAOI2015]树上染色 [树形DP]
    bzoj 4591: [Shoi2015]超能粒子炮·改 [lucas定理]
    3167: [Heoi2013]Sao [树形DP]
    bzoj 3812: 主旋律 [容斥原理 状压DP]
    有标号的二分图计数 [生成函数 多项式]
    有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
    BZOJ 3028: 食物 [生成函数 隔板法 | 广义二项式定理]
  • 原文地址:https://www.cnblogs.com/fbug/p/11792717.html
Copyright © 2011-2022 走看看