zoukankan      html  css  js  c++  java
  • python基础【第八篇】

    day06笔记

    1.小数据池

    is 与 ==的区别

    ​ is :判断两边的内存地址是否相同

    ​ ==:判断两边的值是否相同

    python中的驻留机制:
         数字: -5 ~ 256
         字符串: 3.6 乘法时总长度不能超过20
    python中的代码块:
         数字: -5 ~ 正无穷
         字符串: 3.6 乘法时总长度不能超过20
    

    2.深浅拷贝

    浅拷贝遇见可变数据类型的时候,具有联动效应
    深拷贝遇见可变数据类型的时候,不具有联动效应
    

    浅拷贝:只拷贝第一层的内存地址

    示例

    dic = {1:2,2:[]}
    dic1 = dic.copy()
    dic[2]=4
    print(dic)
    print(dic1)
    dic = {1:2,2:[]}
    dic1 = dic.copy()
    dic[2].append(9)
    print(dic)
    print(dic1)
    

    深拷贝:不管嵌套多少层,不可变数据类型公用,可变数据类型开辟新的内存空间**

    示例

    import copy
    lst = [1,2,3,[6,7,8,9]]
    lst2 = copy.deepcopy(lst)
    lst[1]=10
    lst[-1].append(6)
    print(lst)
    print(lst2)
    

    赋值 : 多个变量名指定同一个内存地址就是赋值

    3.集合

    集合相当于一个没有值得字典

    集合的特性:天然去重

    集合是无序的可变的

    集合的基本操作方法:

    s = {1,2,3,4}
    # 增
    s.add(5)
    print(s)
    s.update(["1","2","3"]) # 迭代更新
    print(s)
    # 删
    s.remove(1)
    print(s)
    print(s.pop())  #删除第一个值
    print(s)
    s.clear()      # 清空
    print(s)
    # 改
    先删后加
    数据转换
    # 查  
    利用for循环
    # 其他操作
    交集 &
    并集 |
    差集 -
    反交集 ^
    超集 >
    子集 <
    v1 = {'呵呵','123','板哥','王二麻子'}
    v2 = {'123','王二麻子'}
    print(v1 & v2)
    print(v1 | v2)
    print(v1 - v2)
    print(v2 - v1)
    

    练习题

    # 从随机的36个数中,抽选7个不重复的数字
    from random import randint
    ls = []
    while len(ls) < 7:
        s = randint(1, 36)
        if s not in ls:
            ls.append(s)
    print(ls)
    
    from random import randint
    s = set()
    while len(s) < 7:
        s.add(randint(1, 36))
    print(s)
    
    

  • 相关阅读:
    JAVAWEB进行PC支付宝支付
    SpringBoot 设置请求字符串格式为UTF-8
    SpringBoot 处理跨域请求问题
    Python 包制作
    F5 开发
    CentOS7 部署nfs服务
    Debian 9 部分快捷键失效问题
    Win10提示 该文件没有与之关联的程序来执行操作
    Debian 9 编译Python
    debian 9 安装远程桌面
  • 原文地址:https://www.cnblogs.com/tianming66/p/11729448.html
Copyright © 2011-2022 走看看