博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
set集合和深浅拷贝
阅读量:5119 次
发布时间:2019-06-13

本文共 2095 字,大约阅读时间需要 6 分钟。

1.补存基础数据类型的相关知识点     1.str.join()把列表变成字符串     2.列表不能在循环的时候删除,因为索引会跟着改变     3.字典也不能直接循环删除         把要删除的内容记录在列表中,循环列表,删除愿列表,字典中的数据     4.fromkeys()不会对原来的字典产生影响,产生新字典(神坑)     5.set集合.不重复,无序         注意: set集合中的元素必须是可hash的, 但是set本身是不可hash得. set是可变的. 增加:update()  add()
set1 = {
'alex','wusir','ritian','egon','barry'}set1.add('景女神')print(set1)#update:迭代着增加set1.update('A')print(set1)set1.update('老师')print(set1)set1.update([1,2,3])print(set1)
    删除:pop()   remove()   clear()
set1 = {
'alex','wusir','ritian','egon','barry'}set1.remove('alex') # 删除一个元素print(set1)set1.pop() # 随机删除一个元素print(set1)set1.clear() # 清空集合print(set1)del set1 # 删除集合print(set1)
修改:没有索引无法直接修改,采用先删除后添加方式修改 查询:set是一个可迭代对象. 所以可以进行for循环查询 集合的其他操作: 交集。(&  或者 intersection)
set1 = {1,2,3,4,5}set2 = {4,5,6,7,8}print(set1 & set2)  # {4, 5}print(set1.intersection(set2))  # {4, 5}

并集。(| 或者 union)

set1 = {1,2,3,4,5}set2 = {4,5,6,7,8}print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7}print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7}

差集。(- 或者 difference)

set1 = {1,2,3,4,5}set2 = {4,5,6,7,8}print(set1 - set2)  # {1, 2, 3}print(set1.difference(set2))  # {1, 2, 3}

反交集。 (^ 或者 symmetric_difference)

set1 = {1,2,3,4,5}set2 = {4,5,6,7,8}print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}

子集与超集

set1 = {1,2,3}set2 = {1,2,3,4,5,6}print(set1 < set2)print(set1.issubset(set2))  # 这两个相同,都是说明set1是set2子集。print(set2 > set1)print(set2.issuperset(set1))  # 这两个相同,都是说明set2是set1超集。

frozenset不可变集合,让集合变成不可变类型。

s = frozenset('barry')print(s,type(s))  # frozenset({'a', 'y', 'b', 'r'}) 
6.想转换成什么,就用什么括起来         类型转换:             元组 => 列表 list(tuple)             列表 => 元组 tuple(list)             list=>str   str.join(list)             str=>list   str.split()     7.深浅拷贝         1.直接赋值,两个变量指向同一个对象         2.浅拷贝:只拷贝第一层内容.   copy()         对于浅copy来说,第一层创建的是新的内存地址,而从第二层开始,指向的都是同一个内存地址,所以,对于第二层以及更深的层数来说,保持一致性。         3.深度拷贝:对象中的所有内容全部拷贝一份       对于深copy来说,两个是完全独立的,改变任意一个的任何元素(无论多少层),另一个绝对不改变。             import copy             copy.deepcopy()

转载于:https://www.cnblogs.com/hmw112626/p/9289635.html

你可能感兴趣的文章
hadoop关闭安全模式
查看>>
Hive的JDBC连接
查看>>
P1478 陶陶摘苹果(升级版)
查看>>
qt设置
查看>>
quartz:使用时候注意misfireThreshold参数
查看>>
MySql使用联合唯一索引和replace into方法进行重复数据update非重复数据insert
查看>>
01写在前面
查看>>
02基本数据类型(主要str)
查看>>
04基本数据类型(字典)
查看>>
06set集合和深浅拷贝(包括前面的一些知识点补充)
查看>>
03基本数据类型(列表,元祖)
查看>>
08函数简介
查看>>
05判断和编码/解码
查看>>
10函数名的应用,闭包,和迭代器
查看>>
07基本的文件操作
查看>>
12内置函数补充,递归以及二分法。
查看>>
14python模块之re
查看>>
09函数的动态传参及global和nonlocal关键字
查看>>
16异常处理
查看>>
11生成器相关及推导式(附内置函数分析图url)
查看>>