zoukankan      html  css  js  c++  java
  • Python基础(列表中变量与内存关系)

    在Python中,copy的是内存地址,引用的是列表的引用地址,列表里存的是各个元素的地址

    例如:

    name = [1,2,3,4,['xfxing','summer',6]]
    n2 = name.copy()
    name[1] = -2
    name[4][0] = "shell"
    name[4][2] =-6
    print(name)
    print(n2)
    View Code

    结果为:

    name = [1,2,3,4,['xfxing','summer',6]]

    n2 = name.copy() copy的是name中列表的内存地址
    name[1] = -2 内存里开辟一个新空间给-2
    name[4][0] = "shell" 列表里开辟一个新的空间存放shell,并把它给到name[4][0]
    name[4][2] =-6 列表里开辟一个新的空间存放-6,并把它给到name[4][1]
    print(name)
    print(n2) 2不会被垃圾回收器回收,n2中copy的内存地址会继续使用

    通过id()可以查看它们的内存地址


    列表中的元素地址没变,列表中的内存地址也不会发生改变

    (如 id(name[3] id(n2[3]))

    列表中的元素地址发生改变,列表的内存地址也将改变

    (如 id(name[1] id(n2[1]))

  • 相关阅读:
    读写excel文件
    数据库操作
    django项目搭建
    django基础
    string
    random函数
    vue-typescript入门
    Visual Studio 2019配置vue项目
    js css+html实现简单的日历
    python接口自动化4-绕过验证码登录(cookie)
  • 原文地址:https://www.cnblogs.com/xfxing/p/8687111.html
Copyright © 2011-2022 走看看