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集合,深浅拷?的主要内容,如果未能解决你的问题,请参考以下文章

07.Pythonset集合,深浅拷?以及部分知识点补充

python基础:基本数据类型四(set集合)基础数据类型补充深浅拷贝

python之set集合深浅拷贝

python - 深浅拷贝

set集合,深浅copy

python基础知识