一、python中的集合与java中的集合对比
JAVA中的集合都是对多个数据进行存储操作,简称为容器,
JAVA集合的三种类型:List(有序,可重复)、Set(无序,唯一)、Map(双列集合,键值对)。
python的集合是种数据类型,跟数学概念中的集合一样,集合可以做交集、并集、差集等操作
二 、初识python集合
1.【集合的格式】
1).第一种:一对大括号“{}”来创建集合
2).第二种:使用set()函数来生成集合
2.【集合类别】
Python中集合分为两种:
1).第一种:可变集合(set)
可变对象有:list,dict(更新时,内存地址没有发生改变)
2).第二种:不可变集合(与可变集合类似,把set改为frozenset即可)
不可变对象有:int,string,float,tuple。(更新时,其实是复制了一份到新的内存地址,内存id发生了变化)
(python只允许使用引用传递,使用的内存回收机制是计数器回收)
3.【集合的运算】
1)交集:" & "实现,也可以用.intersection()方法
2)并集:两个集合的并集可以用操作符" | "实现,也可以用.union()方法
3)差集:两个集合的差集可以用操作符" - "实现,也可以用.difference()方法
4)交叉补集:两个集合的差集可以用操作符" ^ "实现,也可以用.symmetric_difference()方法得到两个集合的交叉补集,返回两个集合并集与交集的差
4.【集合的包含关系】
1)子集:判断子集关系可以用运算符" <= "实现,也可以用.issubset()方法
2)父集:判断父集关系可以用运算符" >= "实现,也可以用.issuperset()方法
5.【集合的方法】
1).add()方法就是添加单个元素
2).update()方法用来向集合添加多个元素,接受一个序列作为参数
3).remove()方法可以从集合中移除单个指定元素,元素不存在会报错
4).pop方法随机地从集合中删除并返回一个元素
5).discard()方法跟.remove()方法一样,区别在于删除不存在元素不会报错
6.【判断从属关系】
a = {1,2,3,'jie'}
z = 2 in a
print(z) #结果为:True
三、python中集合的注意事项
1).不可以直接为{}直接构造,会默认为字典
2).集合中不能包含字典和列表这样的可变类型元素
3).python集合是一种无序的序列,集合中的元素具有唯一性,不存在两个同样的元素