Python基础知识(九)—集合

集合 set

定义

由一系列不重复的不可变类型变量组成的可变散列容器。

相当于只有键没有值的字典(键则是集合的数据)。

基础操作

创建空集合:

集合名 = set()  

集合名 = set(可迭代对象)

创建具有默认值集合:

集合名 = {1, 2, 3}

集合名 = set(可迭代对象)

 

添加元素:集合名.add(元素)

  update()方法用于修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。

set2={"a", 2, "b", 3, "d"}
set1 = {"a", 2, "b", 3, "e"}
set2.update(set1)
print(set2)#{2, 3, 'd', 'b', 'a', 'e'}

删除元素:集合名.discard(元素)

        集合名.remove(元素)

随机移除元素:集合名.pop() 

移除集合中的所有元素:集合名.clear()#清除

 

拷贝一个集合:copy()

       集合名.copy()

运算

1.交集&:返回共同元素。

s1 = {1, 2, 3}

s2 = {2, 3, 4}

s3 = s1 & s2  # {2, 3}

2.并集 |:返回不重复元素

s1 = {1, 2, 3}

s2 = {2, 3, 4}

s3 = s1 | s2  # {1, 2, 3, 4}

 3.补集-:返回只属于其中之一的元素

 s1 = {1, 2, 3}

 s2 = {2, 3, 4}

 s1 - s2  # {1} 属于s1但不属于s2

 s2 - s1  # {4} 属于s2但不属于s1

 补集^:返回不同的的元素

  s1 = {1, 2, 3}

  s2 = {2, 3, 4}

  s3 = s1 ^ s2  # {1, 4}  等同于(s1-s2 | s2-s1)

子集<:判断一个集合的所有元素是否完全在另一个集合中

超集>:判断一个集合是否具有另一个集合的所有元素

s1 = {1, 2, 3}

s2 = {2, 3}

s2 < s1  # True

s1 > s2  # True

相同或不同== !=:判断集合中的所有元素是否和另一个集合相同。

s1 = {1, 2, 3}

s2 = {3, 2, 1}

s1 == s2  # True

s1 != s2  # False

子集或相同,超集或相同 <=  >=

集合推导式

定义:使用简易方法,将可迭代对象转换为集合。

语法:

{表达式 for 变量 in 可迭代对象}

{表达式 for 变量 in 可迭代对象 if 条件}

固定集合 frozenset

定义:不可变的集合。

作用:固定集合可以作为字典的键,还可以作为集合的值。

基础操作:创建固定集合:frozenset(可迭代对象)

运算:等同于set

posted @ 2019-05-09 23:17  maplethefox  阅读(340)  评论(0编辑  收藏  举报