码迷,mamicode.com
首页 > 其他好文 > 详细

pyhon copy

时间:2018-04-03 22:13:49      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:name   调用   举例   class   int   元素   存在   print   pre   

一般python是没有用的, 但是让你熟悉浅copy给你举个清晰的例子

person = ["name",["money",100]]
p1 = person[:]
p2 = person[:]

p1[0] = "张三"
p2[0] = "李四"
print(p1)
print(p2)

结果

[‘张三‘, [‘money‘, 100]]
[‘李四‘, [‘money‘, 100]]

 是对的,因为是浅copy的吗,所以把第一层的list元素给了p1 和 p2

你看这个列表:举例子 person是个账户,然后张三和李四是个夫妻, 然后里面money是钱, 既然张三和李四是夫妻,那么挣了钱肯定都要把钱存在这个账户里吧, 正好利用浅copy

person = ["Zhangsan",["money",100]]
p1 = person[:]
p2 = person[:]

p1[0] = "张三"
p2[0] = "李四"
# 张三挣了钱,把钱存在账户里面
p1[1][1] = 500
print(p1)
print(p2)

结果

[‘张三‘, [‘money‘, 500]]
[‘李四‘, [‘money‘, 500]]

第一层里面的第二层元素list值改变了,

因为只copy,浅浅的copy了一层,浅copy,

copy有三种方式  调用copy方法 copy.copy() 

 list[:] 切片   

list(数据)

pyhon copy

标签:name   调用   举例   class   int   元素   存在   print   pre   

原文地址:https://www.cnblogs.com/liuxinruif0/p/8711165.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!