码迷,mamicode.com
首页 > 编程语言 > 详细

python 基础 -06 set集合,深浅拷?

时间:2018-11-22 13:16:27      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:操作   list   地址   bubuko   back   增删改查   就是   9.png   http   

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集合,深浅拷?

标签:操作   list   地址   bubuko   back   增删改查   就是   9.png   http   

原文地址:https://www.cnblogs.com/summer007/p/10000269.html

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