深浅复制

列表的深浅复制#

嵌套列表#

即在一个列表中包含其他的列表。

例:mylist = [1,2,3,['a','b','c',['A','B','C']]]

若要替换嵌套列表的元素,则用mylist[3][3][0] = 'Z'

浅复制#

浅复制使用copy命令,但是复制出来的新列表里的嵌套列表元素会随着原来列表元素的改变而改变

>>> mylist1 = [1,2,3,['a','b','c',['A','B','C']]]
>>> mylist2 = mylist1.copy()
>>> mylist2
[1, 2, 3, ['a', 'b', 'c', ['A', 'B', 'C']]]
>>> mylist1[3][3][0] = 'S'
>>> mylist1
[1, 2, 3, ['a', 'b', 'c', ['S', 'B', 'C']]]
>>> mylist2
[1, 2, 3, ['a', 'b', 'c', ['S', 'B', 'C']]]

只会是二级或者二级以上的嵌套列表元素会发生改变,一级列表元素不会改变

深复制#

也叫彻底拷贝,元素的所有列表元素都不会发生改变

使用方法:导入copy包,用deepcopy进行复制

>>> import copy
>>> mylist1 = [1,2,['a','b',['A','B']]]
>>> mylist2 = copy.deepcopy(mylist1)
>>> mylist1
[1, 2, ['a', 'b', ['A', 'B']]]
>>> mylist2
[1, 2, ['a', 'b', ['A', 'B']]]
>>> mylist1[2][2] = 'SB'
>>> mylist1[2][0] = 'SB'
>>> mylist1
[1, 2, ['SB', 'b', 'SB']]
>>> mylist2
[1, 2, ['a', 'b', ['A', 'B']]]

字符编码#

编码:encode

解码:decode

>>> a = '素心'
>>> a1 = a.encode('GBK')
>>> a1
b'\xcb\xd8\xd0\xc4'
>>> a2 = a1.decode('GBK')
>>> a2
'素心'

作者:ChanceySolo

出处:https://www.cnblogs.com/chancey/p/9585184.html

版权:本作品采用「ChanceySolo-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   ChanceySolo  阅读(200)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示