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

8次阅读

共计 534 个字符,预计需要花费 2 分钟才能阅读完成。

  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, 须要源码能够私信~~

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

最好的笔记软件

正文完
 0