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

Python基础知识(五)—列表内存图 随笔 第1张

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

Python基础知识(五)—列表内存图 随笔 第2张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
list01 = ["张无忌","赵敏","周芷若"]
# 通过切片复制新列表(拷贝了列表中的变量,而没有变量指向的对象)
list02 = list01[:]
list01[0] = "老张"
print(list02[0])# ?"张无忌"

Python基础知识(五)—列表内存图 随笔 第3张

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

Python基础知识(五)—列表内存图 随笔 第4张

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

Python基础知识(五)—列表内存图 随笔 第5张

import copy

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

Python基础知识(五)—列表内存图 随笔 第6张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄