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]))

  • 相关阅读:
    angularjs select
    DataInputStream和DataOutputStream
    Linux gcc编译器
    Linux 网络配置
    Linux 实用工具vi
    Linux 文件系统
    Linux Linux系统管理命令
    Linux Linux常用命令二
    Linux Linux常用命令一
    数据结构 排序(归并排序)
  • 原文地址:https://www.cnblogs.com/xfxing/p/8687111.html
Copyright © 2011-2022 走看看