Python基础知识—列表内存图

Posted maplethefox

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础知识—列表内存图相关的知识,希望对你有一定的参考价值。

# list01 是变量,存储列表对象的地址.
#列表引用
list01 = ["张无忌","赵敏","周芷若"]
# list02 得到的是列表对象地址
list02 = list01
# 修改的是列表第一个元素存储的对象地址
list01[0] = "老张"
print(list02[0])# ?"老张"

技术图片

list01 = ["张无忌","赵敏","周芷若"]
list02 = list01
# 修改的是变量存储的对象地址
list01 = "老张"
print(list02[0])# ?"张无忌"

技术图片

list01 = ["张无忌","赵敏","周芷若"]
# 通过切片复制新列表(拷贝了列表中的变量,而没有变量指向的对象)
list02 = list01[:]
list01[0] = "老张"
print(list02[0])# ?"张无忌"

技术图片

list01 = ["张无忌",["赵敏","周芷若"]]
list02 = list01
# 修改列表第二个元素的第二个元素
list01[1][1] = "芷若"
print(list02[1][1])    #"芷若"

技术图片

list01 = ["张无忌",["赵敏","周芷若"]]
list02 = list01[:]
list02 = list01.copy() # 浅拷贝
list01[1][1] = "芷若"
print(list02[1][1])    # 芷若

技术图片

import copy

list01 = ["张无忌",["赵敏","周芷若"]]
list02 =copy.deepcopy(list01)  # 深拷贝
list01[1][1] = "芷若"
print(list02[1][1])    # 周芷若

技术图片

以上是关于Python基础知识—列表内存图的主要内容,如果未能解决你的问题,请参考以下文章

Python基础之容器1----字符串和列表

13 个非常有用的 Python 代码片段

如何将 r ggplot 图存储为 html 代码片段

Python基础(列表中变量与内存关系)

Python代码阅读(第26篇):将列表映射成字典

Python代码阅读(第25篇):将多行字符串拆分成列表