python 基础 -06 set集合,深浅拷?
Posted summer007
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 基础 -06 set集合,深浅拷?相关的知识,希望对你有一定的参考价值。
set集合是python的?个基本数据类型. ?般不是很常?. set中的元素是不重复的.?序的.?
?的元素必须是可hash的(int, str, tuple,bool), 我们可以这样来记. set就是dict类型的数据但
是不保存value, 只保存key. set也?{}表?
注意: set集合中的元素必须是可hash的, 但是set本?是不可hash得. set是可变的.
set中的元素是不重复的, 且?序的.
使?这个特性.我们可以使?set来去掉重复
set集合增删改查
1. 增加
2. 删除
3. 修改
4. 查询
5. 常?操作
# 并集
set集合本?是可以发?改变的. 是不可hash的. 我们可以使?frozenset来保存数据.
frozenset是不可变的. 也就是?个可哈希的数据类型
深浅拷?
对于list, set, dict来说, 直接赋值. 其实是把内存地址交给变量. 并不是复制?份内容. 所以.
lst1的内存指向和lst2是?样的. lst1改变了, lst2也发?了改变
浅拷?
浅拷?. 只会拷?第?层. 第?层的内容不会拷?. 所以被称为浅拷?
深拷?
import copy
lst1 = ["何炅", "杜海涛","周渝?", ["麻花藤", "?芸", "周笔畅"]]
lst2 = copy.deepcopy(lst1)
lst1[3].append("?敌是多磨寂寞")
print(lst1)
print(lst2)
print(id(lst1[3]), id(lst2[3]))
结果:
[‘何炅‘, ‘杜海涛‘, ‘周渝?‘, [‘麻花藤‘, ‘?芸‘, ‘周笔畅‘, ‘?敌是多磨寂寞‘]]
[‘何炅‘, ‘杜海涛‘, ‘周渝?‘, [‘麻花藤‘, ‘?芸‘, ‘周笔畅‘]]
4447221448 4447233800
都不?样了. 深度拷?. 把元素内部的元素完全进?拷?复制. 不会产??个改变另?个跟着
改变的问题
以上是关于python 基础 -06 set集合,深浅拷?的主要内容,如果未能解决你的问题,请参考以下文章