一般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(数据)