SET集合
Posted yanzichuan123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SET集合相关的知识,希望对你有一定的参考价值。
SET集合
-
1,最重要的内容集合的定义与数学中的集合几乎相同
元素不可以重复,排列是无序的,重复元素自动清零
元素是可以hash的数据类型(int str tuple dict),如果想要将lst列表
进行清楚重复操作即可以借鉴set集合进行清重功能
lst =[1,1,1,1,1,1,4,5,6,6,7,8] lst = list(set(lst)) print(lst) #进行去重复功能
-
2集合操作交集 并集 子集 差集 超集
name={‘水魔包‘,‘长老‘,‘语族‘,‘阿凡达‘,‘狄格儿‘} character ={‘羽化‘,‘水魔包‘,‘佳佳布鲁根‘,‘阿爸跟‘,‘长老‘,‘语族‘} print(name&character) #求交集 print(name|character) #求并集 print(name^character) #求两个集合单独存在元素的并集 print(name-character) #差集a中单独存在的元素 print(name<character) #name是否为chara的子集false print(name>character) #name是否是character的超集
-
3set是可变的数据类型对set进行frozen操作 即frozenset就不可变了也就变成了一个可哈希的数据类型
name ={‘沈欢哥‘,‘李小时‘} s = frozenset(name) dic = {s:"恋人"} print(dic) # frozenset操作后就变成了不可变数据类型了解就OK
-
增删改查
name ={'沈欢哥','李小时'} name.add("许含") name.update('秦申')#迭代添加 name.update(["皇阿玛"]) #迭代更新 name.pop() #随机删除 name.remove('秦') print(name) name.clear #清空集合 print(name) #与字典进行区分 name ={1,1,1,1,2,3,4,5} name.clear() print(name) dic = {1:1} dic.clear() print(dic) #注意清空时set与dict的区别s
-
深浅拷贝
-
? 浅拷贝就相当于抄作业只抄了个皮毛先来是什么样子抄过来还是什么样子,内容一样,本质都一样,比如克隆人,克隆出来后共用一些东西,两个人公用一切亲属
lst = [1,1,1,1,[1,1,1,1,1]] lsr = lst[:] lsr =lst.copy() # lst.append("sss") lst[4].append(‘sss‘) print(lsr) #列表自身就相当于一个地址 抄作业是 把地址也吵了 print(lst)
-
深层拷贝 所 有 与之相关的都拷贝一份 要引入copy模块
import copy lst =[1,1,1,1,11,1,1,1,[1]] lst1 =copy.deepcopy(lst) lst[8].append(1) print(lst,lst1) #[1, 1, 1, 1, 11, 1, 1, 1, [1, 1]] [1, 1, 1, 1, 11, 1, 1, 1, [1]]
-
-
-
以上是关于SET集合的主要内容,如果未能解决你的问题,请参考以下文章
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段