关于python:关于Python的浅复制和深复制

  1. 浅复制应用copy.copy()函数,深复制应用copy.deepcopy()函数
  2. 创立的浅正本不会克隆子对象,正本和原对象不齐全独立.
  3. 对象的深正本将递归克隆子对象,正本齐全独立于原对象,但创立深正本的速度较慢.

代码

xs = [[1,2,3],[4,5,6],[7,8,9]]
ys = list(xs)  # 浅复制 , 也能够应用copy.copy()创立浅正本
xs.append(['new list']) #xs里增加一个新列表
print(ys)   # [[1, 2, 3], [4, 5, 6], [7, 8, 9]] ,  ys不变,依然含有xs子对象的援用

xs[1][0] = 'XXX'  # 批改xs子对象
print(ys)   # [[1, 2, 3], ['XXX', 5, 6], [7, 8, 9]]   # xs的改变会反映在ys中,因为浅复制后,这两个列表共享雷同的子对象.


import copy
xs = [[1,2,3],[4,5,6],[7,8,9]]
zs = copy.deepcopy(xs)  # 深复制
xs[1][0] = 'XXX'  # 批改xs子对象
print(zs)   #  [[1, 2, 3], [4, 5, 6], [7, 8, 9]] , zs不变.

Flutter 写的app, 须要源码能够私信~~

  • 简繁火星字体转换
  • 哄女友神器
  • 号码测吉凶
  • 电视节目直播表

最好的笔记软件

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理